/* Copyright (c) 2008 Brandon Aaron (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.
 *
 * Version: 1.0.3
 * Requires jQuery 1.1.3+
 * Docs: http://docs.jquery.com/Plugins/livequery
 */
(function(a){a.extend(a.fn,{livequery:function(f,e,d){var c=this,g;if(a.isFunction(f)){d=e,e=f,f=undefined}a.each(a.livequery.queries,function(h,j){if(c.selector==j.selector&&c.context==j.context&&f==j.type&&(!e||e.$lqguid==j.fn.$lqguid)&&(!d||d.$lqguid==j.fn2.$lqguid)){return(g=j)&&false}});g=g||new a.livequery(this.selector,this.context,f,e,d);g.stopped=false;g.run();return this},expire:function(f,e,d){var c=this;if(a.isFunction(f)){d=e,e=f,f=undefined}a.each(a.livequery.queries,function(g,h){if(c.selector==h.selector&&c.context==h.context&&(!f||f==h.type)&&(!e||e.$lqguid==h.fn.$lqguid)&&(!d||d.$lqguid==h.fn2.$lqguid)&&!this.stopped){a.livequery.stop(h.id)}});return this}});a.livequery=function(c,e,g,f,d){this.selector=c;this.context=e||document;this.type=g;this.fn=f;this.fn2=d;this.elements=[];this.stopped=false;this.id=a.livequery.queries.push(this)-1;f.$lqguid=f.$lqguid||a.livequery.guid++;if(d){d.$lqguid=d.$lqguid||a.livequery.guid++}return this};a.livequery.prototype={stop:function(){var c=this;if(this.type){this.elements.unbind(this.type,this.fn)}else{if(this.fn2){this.elements.each(function(d,e){c.fn2.apply(e)})}}this.elements=[];this.stopped=true},run:function(){if(this.stopped){return}var e=this;var f=this.elements,d=a(this.selector,this.context),c=d.not(f);this.elements=d;if(this.type){c.bind(this.type,this.fn);if(f.length>0){a.each(f,function(g,h){if(a.inArray(h,d)<0){a.event.remove(h,e.type,e.fn)}})}}else{c.each(function(){e.fn.apply(this)});if(this.fn2&&f.length>0){a.each(f,function(g,h){if(a.inArray(h,d)<0){e.fn2.apply(h)}})}}}};a.extend(a.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if(a.livequery.running&&a.livequery.queue.length){var c=a.livequery.queue.length;while(c--){a.livequery.queries[a.livequery.queue.shift()].run()}}},pause:function(){a.livequery.running=false},play:function(){a.livequery.running=true;a.livequery.run()},registerPlugin:function(){a.each(arguments,function(d,e){if(!a.fn[e]){return}var c=a.fn[e];a.fn[e]=function(){var f=c.apply(this,arguments);a.livequery.run();return f}})},run:function(c){if(c!=undefined){if(a.inArray(c,a.livequery.queue)<0){a.livequery.queue.push(c)}}else{a.each(a.livequery.queries,function(d){if(a.inArray(d,a.livequery.queue)<0){a.livequery.queue.push(d)}})}if(a.livequery.timeout){clearTimeout(a.livequery.timeout)}a.livequery.timeout=setTimeout(a.livequery.checkQueue,20)},stop:function(c){if(c!=undefined){a.livequery.queries[c].stop()}else{a.each(a.livequery.queries,function(d){a.livequery.queries[d].stop()})}}});a.livequery.registerPlugin("append","prepend","after","before","wrap","attr","removeAttr","addClass","removeClass","toggleClass","empty","remove");a(function(){a.livequery.play()});var b=a.prototype.init;a.prototype.init=function(d,f){var e=b.apply(this,arguments);if(d&&d.selector){e.context=d.context,e.selector=d.selector}if(typeof d=="string"){e.context=f||document,e.selector=d}return e};a.prototype.init.prototype=a.prototype})(jQuery);
/*--------------------------------------------------------------------
 * JQuery Plugin: "EqualHeights"
 * by:	Scott Jehl, Todd Parker, Maggie Costello Wachs (http://www.filamentgroup.com)
 *
 * Copyright (c) 2008 Filament Group
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 *
 * Description: Compares the heights or widths of the top-level children of a provided element
 		and sets their min-height to the tallest height (or width to widest width). Sets in em units
 		by default if pxToEm() method is available.
 * Dependencies: jQuery library, pxToEm method	(article:
		http://www.filamentgroup.com/lab/retaining_scalable_interfaces_with_pixel_to_em_conversion/)
 * Usage Example: $(element).equalHeights();
  		Optional: to set min-height in px, pass a true argument: $(element).equalHeights(true);
 * Version: 2.0, 08.01.2008
--------------------------------------------------------------------*/
$.fn.equalHeights=function(a){$(this).each(function(){var b=0;$(this).children().each(function(){if($(this).height()>b){b=$(this).height()}});if($.browser.msie&&$.browser.version==6){$(this).children().css({height:b})}$(this).children().css({"min-height":b})});return this};
/*
 * jQuery Form Plugin
 * version: 2.24 (10-MAR-2009)
 * @requires jQuery v1.2.2 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
(function(b){b.fn.ajaxSubmit=function(r){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof r=="function"){r={success:r}}var e=this.attr("action")||window.location.href;e=(e.match(/^([^#]+)/)||[])[1];e=e||"";r=b.extend({url:e,type:this.attr("method")||"GET"},r||{});var t={};this.trigger("form-pre-serialize",[this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(r.beforeSerialize&&r.beforeSerialize(this,r)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var l=this.formToArray(r.semantic);if(r.data){r.extraData=r.data;for(var f in r.data){if(r.data[f] instanceof Array){for(var g in r.data[f]){l.push({name:f,value:r.data[f][g]})}}else{l.push({name:f,value:r.data[f]})}}}if(r.beforeSubmit&&r.beforeSubmit(l,this,r)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[l,this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var d=b.param(l);if(r.type.toUpperCase()=="GET"){r.url+=(r.url.indexOf("?")>=0?"&":"?")+d;r.data=null}else{r.data=d}var s=this,i=[];if(r.resetForm){i.push(function(){s.resetForm()})}if(r.clearForm){i.push(function(){s.clearForm()})}if(!r.dataType&&r.target){var o=r.success||function(){};i.push(function(j){b(r.target).html(j).each(o,arguments)})}else{if(r.success){i.push(r.success)}}r.success=function(q,k){for(var n=0,j=i.length;n<j;n++){i[n].apply(r,[q,k,s])}};var c=b("input:file",this).fieldValue();var p=false;for(var h=0;h<c.length;h++){if(c[h]){p=true}}if(r.iframe||p){if(r.closeKeepAlive){b.get(r.closeKeepAlive,m)}else{m()}}else{b.ajax(r)}this.trigger("form-submit-notify",[this,r]);return this;function m(){var v=s[0];if(b(":input[name=submit]",v).length){alert('Error: Form elements must not be named "submit".');return}var q=b.extend({},b.ajaxSettings,r);var F=jQuery.extend(true,{},b.extend(true,{},b.ajaxSettings),q);var u="jqFormIO"+(new Date().getTime());var B=b('<iframe id="'+u+'" name="'+u+'" src="about:blank" />');var D=B[0];B.css({position:"absolute",top:"-1000px",left:"-1000px"});var E={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;B.attr("src","about:blank")}};var C=q.global;if(C&&!b.active++){b.event.trigger("ajaxStart")}if(C){b.event.trigger("ajaxSend",[E,q])}if(F.beforeSend&&F.beforeSend(E,F)===false){F.global&&jQuery.active--;return}if(E.aborted){return}var k=0;var x=0;var j=v.clk;if(j){var w=j.name;if(w&&!j.disabled){r.extraData=r.extraData||{};r.extraData[w]=j.value;if(j.type=="image"){r.extraData[name+".x"]=v.clk_x;r.extraData[name+".y"]=v.clk_y}}}setTimeout(function(){var I=s.attr("target"),G=s.attr("action");v.setAttribute("target",u);if(v.getAttribute("method")!="POST"){v.setAttribute("method","POST")}if(v.getAttribute("action")!=q.url){v.setAttribute("action",q.url)}if(!r.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(q.timeout){setTimeout(function(){x=true;y()},q.timeout)}var H=[];try{if(r.extraData){for(var J in r.extraData){H.push(b('<input type="hidden" name="'+J+'" value="'+r.extraData[J]+'" />').appendTo(v)[0])}}B.appendTo("body");D.attachEvent?D.attachEvent("onload",y):D.addEventListener("load",y,false);v.submit()}finally{v.setAttribute("action",G);I?v.setAttribute("target",I):s.removeAttr("target");b(H).remove()}},10);var z=0;function y(){if(k++){return}D.detachEvent?D.detachEvent("onload",y):D.removeEventListener("load",y,false);var G=true;try{if(x){throw"timeout"}var H,J;J=D.contentWindow?D.contentWindow.document:D.contentDocument?D.contentDocument:D.document;if((J.body==null||J.body.innerHTML=="")&&!z){z=1;k--;setTimeout(y,100);return}E.responseText=J.body?J.body.innerHTML:null;E.responseXML=J.XMLDocument?J.XMLDocument:J;E.getResponseHeader=function(L){var K={"content-type":q.dataType};return K[L]};if(q.dataType=="json"||q.dataType=="script"){var n=J.getElementsByTagName("textarea")[0];E.responseText=n?n.value:E.responseText}else{if(q.dataType=="xml"&&!E.responseXML&&E.responseText!=null){E.responseXML=A(E.responseText)}}H=b.httpData(E,q.dataType)}catch(I){G=false;b.handleError(q,E,"error",I)}if(G){q.success(H,"success");if(C){b.event.trigger("ajaxSuccess",[E,q])}}if(C){b.event.trigger("ajaxComplete",[E,q])}if(C&&!--b.active){b.event.trigger("ajaxStop")}if(q.complete){q.complete(E,G?"success":"error")}setTimeout(function(){B.remove();E.responseXML=null},100)}function A(n,G){if(window.ActiveXObject){G=new ActiveXObject("Microsoft.XMLDOM");G.async="false";G.loadXML(n)}else{G=(new DOMParser()).parseFromString(n,"text/xml")}return(G&&G.documentElement&&G.documentElement.tagName!="parsererror")?G:null}}};b.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){b(this).ajaxSubmit(c);return false}).each(function(){b(":submit,input:image",this).bind("click.form-plugin",function(f){var d=this.form;d.clk=this;if(this.type=="image"){if(f.offsetX!=undefined){d.clk_x=f.offsetX;d.clk_y=f.offsetY}else{if(typeof b.fn.offset=="function"){var g=b(this).offset();d.clk_x=f.pageX-g.left;d.clk_y=f.pageY-g.top}else{d.clk_x=f.pageX-this.offsetLeft;d.clk_y=f.pageY-this.offsetTop}}}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},10)})})};b.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){b(":submit,input:image",this).unbind("click.form-plugin")})};b.fn.formToArray=function(q){var p=[];if(this.length==0){return p}var d=this[0];var h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var k=0,m=h.length;k<m;k++){var e=h[k];var f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}var r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var g=0,c=r.length;g<c;g++){p.push({name:f,value:r[g]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=d.getElementsByTagName("input");for(var k=0,m=l.length;k<m;k++){var o=l[k];var f=o.name;if(f&&!o.disabled&&o.type=="image"&&d.clk==o){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(typeof j=="undefined"){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return c.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c==undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c==undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);
/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */
jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};
/* Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * Version 2.1
 * 
 * Thanks to 
 * Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 * Tom Leonard for some improvements
 * 
 */
jQuery.fn.extend({getUrlParam:function(f){f=escape(unescape(f));var e=new Array();var b=null;if($(this).attr("nodeName")=="#document"){if(window.location.search.search(f)>-1){b=window.location.search.substr(1,window.location.search.length).split("&")}}else{if($(this).attr("src")!="undefined"){var d=$(this).attr("src");if(d.indexOf("?")>-1){var a=d.substr(d.indexOf("?")+1);b=a.split("&")}}else{if($(this).attr("href")!="undefined"){var d=$(this).attr("href");if(d.indexOf("?")>-1){var a=d.substr(d.indexOf("?")+1);b=a.split("&")}}else{return null}}}if(b==null){return null}for(var c=0;c<b.length;c++){if(escape(unescape(b[c].split("=")[0]))==f){e.push(b[c].split("=")[1])}}if(e.length==0){return null}else{if(e.length==1){return e[0]}else{return e}}}});
/*
// jQuery multiSelect
//
// Version 1.0.2 beta
*/
/*
// Licensing & Terms of Use
//
// This plugin is dual-licensed under the GNU General Public License and the MIT License and
// is copyright 2008 A Beautiful Site, LLC.
//
*/
if(jQuery){(function(a){a.extend(a.fn,{multiSelect:function(b,c){if(!b){var b={}}if(b.selectAll==undefined){b.selectAll=true}if(b.selectAllText==undefined){b.selectAllText="Select All"}if(b.noneSelected==undefined){b.noneSelected="Select options"}if(b.oneOrMoreSelected==undefined){b.oneOrMoreSelected="% selected"}if(b.focusTimeout==undefined){b.focusTimeout=250}if(b.showConfirmation==undefined){b.showConfirmation=false}a(this).each(function(){var e=a(this);var g='<input type="text" readonly="readonly" class="multiSelect" value="" style="cursor: default;" />';g+='<div class="multiSelectOptions" style="position: absolute; z-index: 99999; display: none;">';if(b.selectAll){g+='<label class="selectAll"><input type="checkbox" class="selectAll" />'+b.selectAllText+"</label>"}a(e).find("OPTION").each(function(){if(a(this).val()!=""){g+='<label><input type="checkbox" name="'+a(e).attr("name")+'" value="'+a(this).val()+'"';if(a(this).attr("selected")){g+=' checked="checked"'}g+=" />"+a(this).html()+"</label>"}});g+="</div>";if(b.showConfirmation!=false){g+='<div class="multiSelectConfirmation" style="position: absolute; z-index: 99999; display: none;">';g+='<a href="#">'+b.showConfirmation+"</a>";g+="</div>"}a(e).after(g);var f=a(e).next(".multiSelect");f.mouseover(function(){a(this).addClass("hover")}).mouseout(function(){a(this).removeClass("hover")}).click(function(){if(a(this).hasClass("active")){a(this).multiSelectOptionsHide()}else{a(this).multiSelectOptionsShow(b)}return false}).focus(function(){a(this).addClass("focus")}).blur(function(){a(this).removeClass("focus")});f.next(".multiSelectOptions").mouseover(function(){a(this).addClass("hover")}).mouseout(function(){a(this).removeClass("hover")}).next(".multiSelectConfirmation").mouseover(function(){a(this).addClass("hover")}).mouseout(function(){a(this).removeClass("hover")}).find("a").click(function(){f.trigger("click")});if(b.selectAll){var d=true;f.next(".multiSelectOptions").find("INPUT:checkbox").not(".selectAll").each(function(){if(!a(this).attr("checked")){d=false}});if(d){f.next(".multiSelectOptions").find("INPUT.selectAll").attr("checked",true).parent().addClass("checked")}}f.next(".multiSelectOptions").find("INPUT.selectAll").click(function(){if(a(this).attr("checked")==true){a(this).parent().parent().find("INPUT:checkbox").attr("checked",true).parent().addClass("checked")}else{a(this).parent().parent().find("INPUT:checkbox").attr("checked",false).parent().removeClass("checked")}});f.next(".multiSelectOptions").find("INPUT:checkbox").click(function(){a(this).parent().parent().multiSelectUpdateSelected(b);a(this).parent().parent().find("LABEL").removeClass("checked").find("INPUT:checked").parent().addClass("checked");a(this).parent().parent().prev(".multiSelect").focus();if(!a(this).attr("checked")){a(this).parent().parent().find("INPUT:checkbox.selectAll").attr("checked",false).parent().removeClass("checked")}if(c){c(a(this))}});f.next(".multiSelectOptions").each(function(){a(this).multiSelectUpdateSelected(b);a(this).find("INPUT:checked").parent().addClass("checked")});f.next(".multiSelectOptions").find("LABEL").mouseover(function(){a(this).parent().find("LABEL").removeClass("hover");a(this).addClass("hover")}).mouseout(function(){a(this).parent().find("LABEL").removeClass("hover")});f.keydown(function(h){if(a(this).next(".multiSelectOptions").is(":visible")){if(h.keyCode==9){a(this).addClass("focus").trigger("click");a(this).focus().next(":input").focus();return true}if(h.keyCode==27||h.keyCode==37||h.keyCode==39){a(this).addClass("focus").trigger("click")}if(h.keyCode==40){if(!a(this).next(".multiSelectOptions").find("LABEL").hasClass("hover")){a(this).next(".multiSelectOptions").find("LABEL:first").addClass("hover")}else{a(this).next(".multiSelectOptions").find("LABEL.hover").removeClass("hover").next("LABEL").addClass("hover");if(!a(this).next(".multiSelectOptions").find("LABEL").hasClass("hover")){a(this).next(".multiSelectOptions").find("LABEL:first").addClass("hover")}}a(this).multiSelectAdjustViewport(a(this));return false}if(h.keyCode==38){if(!a(this).next(".multiSelectOptions").find("LABEL").hasClass("hover")){a(this).next(".multiSelectOptions").find("LABEL:first").addClass("hover")}else{a(this).next(".multiSelectOptions").find("LABEL.hover").removeClass("hover").prev("LABEL").addClass("hover");if(!a(this).next(".multiSelectOptions").find("LABEL").hasClass("hover")){a(this).next(".multiSelectOptions").find("LABEL:last").addClass("hover")}}a(this).multiSelectAdjustViewport(a(this));return false}if(h.keyCode==13||h.keyCode==32){if(a(this).next(".multiSelectOptions").find("LABEL.hover INPUT:checkbox").hasClass("selectAll")){if(a(this).next(".multiSelectOptions").find("LABEL.hover INPUT:checkbox").attr("checked")){a(this).next(".multiSelectOptions").find("INPUT:checkbox").attr("checked",false).parent().removeClass("checked")}else{a(this).next(".multiSelectOptions").find("INPUT:checkbox").attr("checked",true).parent().addClass("checked")}a(this).next(".multiSelectOptions").multiSelectUpdateSelected(b);if(c){c(a(this))}return false}if(a(this).next(".multiSelectOptions").find("LABEL.hover INPUT:checkbox").attr("checked")){a(this).next(".multiSelectOptions").find("LABEL.hover INPUT:checkbox").attr("checked",false);a(this).next(".multiSelectOptions").multiSelectUpdateSelected(b);a(this).next(".multiSelectOptions").find("LABEL").removeClass("checked").find("INPUT:checked").parent().addClass("checked");a(this).next(".multiSelectOptions").find("INPUT:checkbox.selectAll").attr("checked",false).parent().removeClass("checked");if(c){c(a(this))}}else{a(this).next(".multiSelectOptions").find("LABEL.hover INPUT:checkbox").attr("checked",true);a(this).next(".multiSelectOptions").multiSelectUpdateSelected(b);a(this).next(".multiSelectOptions").find("LABEL").removeClass("checked").find("INPUT:checked").parent().addClass("checked");if(c){c(a(this))}}}return false}else{if(h.keyCode==38||h.keyCode==40||h.keyCode==13||h.keyCode==32){a(this).removeClass("focus").trigger("click");a(this).next(".multiSelectOptions").find("LABEL:first").addClass("hover");return false}if(h.keyCode==9){a(this).focus().next(":input").focus();return true}}if(h.keyCode==13){return false}});a(e).remove()});a(document).unbind("mousedown.multiSelect").bind("mousedown.multiSelect",function(){if(!a(".multiSelect").hasClass("hover")&&!a(".multiSelect").next(".multiSelectOptions").hasClass("hover")&&!a(".multiSelect").next(".multiSelectOptions").next(".multiSelectConfirmation").hasClass("hover")){a(".multiSelect").multiSelectOptionsHide()}})},multiSelectOptionsHide:function(){a(this).removeClass("active").next(".multiSelectOptions").hide().next(".multiSelectConfirmation").hide()},multiSelectOptionsShow:function(d){a(".multiSelect").multiSelectOptionsHide();a(this).next(".multiSelectOptions").find("LABEL").removeClass("hover");a(this).addClass("active").next(".multiSelectOptions").show().next(".multiSelectConfirmation").show();var c=a(this).position();a(this).next(".multiSelectOptions").css({top:c.top+a(this).outerHeight()+"px"});a(this).next(".multiSelectOptions").css({left:c.left+"px"});if(d.showConfirmation!=false){var g=a(this).next(".multiSelectOptions");var b=g.position();g.next(".multiSelectConfirmation").css({top:b.top+g.outerHeight()+"px"});g.next(".multiSelectConfirmation").css({left:b.left+"px"})}multiSelectCurrent=a(this);var f="";var e=function(){if(d.focusTimeout!=false){f=setTimeout('jQuery(multiSelectCurrent).multiSelectOptionsHide(); $(multiSelectCurrent).unbind("hover");',d.focusTimeout)}};a(this).next(".multiSelectOptions").hover(function(){clearTimeout(f)},e).next(".multiSelectConfirmation").hover(function(){clearTimeout(f)},e)},multiSelectUpdateSelected:function(e){var b=0,c="";a(this).find("INPUT:checkbox:checked").not(".selectAll").each(function(){b++});if(b==0){a(this).prev("INPUT.multiSelect").val(e.noneSelected)}else{if(e.oneOrMoreSelected=="*"){var d="";a(this).find("INPUT:checkbox:checked").each(function(){if(a(this).parent().text()!=e.selectAllText){d=d+a(this).parent().text()+", "}});d=d.substr(0,d.length-2);a(this).prev("INPUT.multiSelect").val(d)}else{a(this).prev("INPUT.multiSelect").val(e.oneOrMoreSelected.replace("%",b))}}},multiSelectAdjustViewport:function(g){var f=0;var e=0,b=0;a(g).next(".multiSelectOptions").find("LABEL").each(function(){if(a(this).hasClass("hover")){e=f;b=a(this).outerHeight();return}f+=a(this).outerHeight()});var d=a(g).next(".multiSelectOptions").scrollTop();var c=a(g).next(".multiSelectOptions").height();a(g).next(".multiSelectOptions").scrollTop(e-((c/2)-(b/2)))}})})(jQuery)};
/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/
var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(c){var a="";var k,h,f,j,g,e,d;var b=0;c=Base64._utf8_encode(c);while(b<c.length){k=c.charCodeAt(b++);h=c.charCodeAt(b++);f=c.charCodeAt(b++);j=k>>2;g=((k&3)<<4)|(h>>4);e=((h&15)<<2)|(f>>6);d=f&63;if(isNaN(h)){e=d=64}else{if(isNaN(f)){d=64}}a=a+this._keyStr.charAt(j)+this._keyStr.charAt(g)+this._keyStr.charAt(e)+this._keyStr.charAt(d)}return a},decode:function(c){var a="";var k,h,f;var j,g,e,d;var b=0;c=c.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(b<c.length){j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}}a=Base64._utf8_decode(a);return a},_utf8_encode:function(b){b=b.replace(/\r\n/g,"\n");var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=String.fromCharCode(d)}else{if((d>127)&&(d<2048)){a+=String.fromCharCode((d>>6)|192);a+=String.fromCharCode((d&63)|128)}else{a+=String.fromCharCode((d>>12)|224);a+=String.fromCharCode(((d>>6)&63)|128);a+=String.fromCharCode((d&63)|128)}}}return a},_utf8_decode:function(a){var b="";var d=0;var e=c1=c2=0;while(d<a.length){e=a.charCodeAt(d);if(e<128){b+=String.fromCharCode(e);d++}else{if((e>191)&&(e<224)){c2=a.charCodeAt(d+1);b+=String.fromCharCode(((e&31)<<6)|(c2&63));d+=2}else{c2=a.charCodeAt(d+1);c3=a.charCodeAt(d+2);b+=String.fromCharCode(((e&15)<<12)|((c2&63)<<6)|(c3&63));d+=3}}}return b}};

/**
 * jQuery cascade select
 * by Rudolf Schmidt
 **/
jQuery.fn.cascadeSelect=function(a){$(this).each(function(){var c=$.extend({cache:"false"},a||{});if(c.url==undefined){c.url=$(this).attr("url")}var b=$(this);b.change(function(){var d={cache:"false"};d[b.attr("name")]=b.val();b.next("select").attr("disabled","disabled");$.get(c.url,d,function(e){b.next("select").replaceWith(e)})})})};