/**
 * LBi Javascript 
 *
 * @module    LBi
 * @version   1.00.091016
 * @requires  jQuery
 * @author    LBi Lost Boys
 */
var LBi=(function($){var q='function';var r='string';var s=function(a){switch(typeof a){case q:return a.call(s,$);case r:s.log(a);break}};$.extend(s,{subscribe:function(a,b,c){y.subscribe(a,b,c)},unsubscribe:function(a,b){y.unsubscribe(a,b)},setCookie:function(a,b,c){var d=new Date();d.setTime(d.getTime()+((c||14)*86400000));document.cookie=a+"="+encodeURIComponent(b)+"; expires="+d.toUTCString()+"; path=/"},getCookie:function(a){var b=new RegExp(a+'=([^;$]+)','i');var c=b.exec(document.cookie);return(c&&c[1])?decodeURIComponent(c[1]):''},namespace:function(a,b){if(this[a]){throw Error('Namespace "'+a+'" is already defined');}else{this[a]=b}},AbstractMethod:function(){throw new Error('Method not implemented');},log:function(){try{console.log.apply(console,arguments)}catch(fail){}}});var t={extend:function(a,constructor,b){var c=function(){a.apply(this,arguments);if(constructor){constructor.apply(this,arguments)}};this.implement(c,a.prototype);if(b){this.implement(c,b)}c.prototype.constructor=c;return c},implement:function(a,b){for(var i in b){if(typeof i===r){a.prototype[i]=b[i]}}}};s.namespace('Class',t);Function.prototype.bind=function(a){var b=this;return function(){return b.apply(a,arguments)}};Function.prototype.partial=function(){var c=this;var d=arguments;return function(){var a=Math.max(d.length,arguments.length);var b=[];for(var i=0;i<a;i++){b[i]=arguments[i]||d[i]}return c.apply(this,b)}};if(!Array.prototype.map){Array.prototype.map=function(a,b){var c=[];var l=this.length;for(var i=0;i<l;i++){if(i in this){c[i]=a.call(b,this[i],i,this)}}return c}}if(!Array.prototype.forEach){Array.prototype.forEach=function(a,b){var l=this.length;for(var i=0;i<l;i++){if(i in this){a.call(b,this[i],i,this)}}}}if(!Array.prototype.filter){Array.prototype.filter=function(a,b){var c=[];var l=this.length;for(var i=0;i<l;i++){if(i in this){var d=this[i];if(a.call(b,d,i,this)){c.push(d)}}}return c}}if(!Array.prototype.some){Array.prototype.some=function(a,b){var l=this.length;for(var i=0;i<l;i++){if(i in this&&a.call(b,this[i],i,this)){return true}}return false}}if(!Array.prototype.every){Array.prototype.every=function(a,b){var l=this.length;for(var i=0;i<l;i++){if(i in this&&!a.call(b,this[i],i,this)){return false}}return true}}if(!Array.prototype.indexOf){Array.prototype.indexOf=function(a,b){var l=this.length;var c=b||0;if(b<0){c=l-b}for(var i=c;i<l;i++){if(i in this&&this[i]===a){return i}}return-1}}if(!Array.prototype.lastIndexOf){Array.prototype.lastIndexOf=function(a,b){var l=this.length-1;var c=b||l;if(b<0){c=l-b}for(var i=c;i>=0;i--){if(i in this&&this[i]===a){return i}}return-1}}if(window.Node&&Node.prototype&&!Node.prototype.contains){Node.prototype.contains=function(a){return!!(this.compareDocumentPosition(a)&16)}}var u=function(){this.stack={}};u.prototype={constructor:u,put:function(a,b){this.stack[a]=b},get:function(a){return this.stack[a]},getKeys:function(){var a=[];for(var i in this.stack){if(typeof i===r){a.push(i)}}return a},remove:function(a){delete this.stack[a]},clone:function(){var a=new u();for(var i in this.stack){if(typeof i===r){a.add(i,this.get(i))}}return a},clear:function(){this.stack={}},size:function(){var a=0;for(var i in this.stack){if(typeof i===r){a++}}return a},containsKey:function(a){return this.stack[a]?true:false},containsValue:function(a){for(var i in this.stack){if(typeof i===r&&this.stack[i]===a){return true}}return false}};s.namespace('HashMap',u);var v=function(a){this.stack=[];this.append.apply(this,arguments)};v.prototype={constructor:v,append:function(a){this.stack.push.apply(this.stack,arguments);return this},insert:function(a,b){var l=arguments.length-1;for(var i=0;i<l;i++){this.stack.splice(a+i,0,arguments[i+1])}return this},substring:function(a,b){var c=new v();var i=a;var l=this.stack.length;while(i<l&&i<b){c.append(this.stack[i]);i++}return c},clear:function(){this.stack=[];return this},isEmpty:function(){return(this.stack.length===0)?true:false},toString:function(){return this.stack.join('')}};s.namespace('StringBuffer',v);var w={select:function(a,b){try{if(b.evaluate){return b.evaluate(a,b,null,0,null)}else if(document.evaluate){return document.evaluate(a,b,null,0,null)}else{return new w.Result(b.selectNodes(a))}}catch(e){return null}},Result:function(a){var b=0;this.iterateNext=function(){return a[b++]}}};s.namespace('XPath',w);$.extend($,{registerPlugin:function(b,c){var d={};var e=[];d[b]=function(a){for(var i=0;i<this.length;i++){e.push(new c(this[i],a))}return this};$.extend($.fn,d);return e}});var x=function(a,b,c,e){this.type=a;this.target=b;this.data=c||{};this.event=e;this.returnValue=true;if(e){var d=x.Whitelist;for(var f in d){if(d[f]){(this[f]=e[f])}}}};x.prototype={constructor:x,preventDefault:function(){this.returnValue=false;if(this.event){this.event.preventDefault()}},stopPropagation:function(){if(this.event){this.event.stopPropagation()}}};x.CLICK='click';x.MOUSEOVER='mouseover';x.MOUSEOUT='mouseout';x.FOCUS='focus';x.BLUR='blur';x.CHANGE='change';x.SUBMIT='submit';x.RESET='reset';x.AJAX_SUBMIT='ajaxsubmit';x.NODE_INSERTED='DOMNodeInserted';x.NODE_REMOVED='DOMNodeRemoved';x.Whitelist={relatedTarget:1,button:1,keyCode:1,ctrlKey:1,shiftKey:1,altKey:1,pageX:1,pageY:1,clientX:1,clientY:1,screenX:1,screenY:1};s.namespace('Event',x);var y={events:{},custom:{},capture:function(b,c){$(c||document).bind(b,function(e,a){return y.fire(b,e.target,a,e)})},createEvent:function(b,c){if(this.custom[b]){throw new Error('Custom event "'+b+'" is already defined.');}this.custom[b]=c;var d=/(.*):[a-z0-9]+$/i.exec(b)[1];y.subscribe(d,function(e){var a=c(e,e.data);if(a&&a.nodeType){return y.fire(b,a,e.data,e)}})},subscribe:function(a,b,c){if(/:/.test(a)&&!this.custom[a]){throw new Error('Custom event "'+a+'" is not defined.');}if(!this.events[a]){this.events[a]=[]}var d=this.events[a];for(var i=0;i<d.length;i++){if(c>d[i].priority){break}}d.splice(i,0,{handler:b,priority:c||1})},unsubscribe:function(a,b){var c=this.events[a]||[];for(var i=0;i<c.length;i++){var e=c[i];if(e.handler===b){c.splice(i,1)}}},fire:function(a,b,c,d){var f=this.events[a];if(f&&f.length){var e=new x(a,b,c,d);for(var i=0;i<f.length;i++){f[i].handler(e)}return e.returnValue}return true}};s.namespace('Dispatcher',y);var z=function(){this.relations=[];y.subscribe('click:link',this.handleClick.bind(this))};z.prototype={constructor:z,subscribe:function(a,b){var c={expression:a,handler:b};this.relations.push(c)},unsubscribe:function(a){for(var i=0;i<this.relations.length;i++){if(this.relations[i]===a){this.relations.splice(i,1);break}}},handleClick:function(e){var a=e.target;var b=a.rel;if(b){for(var i=0;i<this.relations.length;i++){var c=this.relations[i];if(c.expression.test(b)){c.handler(e)}}}}};s.namespace('LinkRelations',z);var A={write:function(a,b){$(a).html(b);y.fire(x.NODE_INSERTED,a)},append:function(a,b){$(a).append(b);y.fire(x.NODE_INSERTED,b)},insertBefore:function(a,b){$(b).before(a);y.fire(x.NODE_INSERTED,a)},insertAfter:function(a,b){$(b).after(a);y.fire(x.NODE_INSERTED,a)},replace:function(a,b){y.fire(x.NODE_REMOVED,b);$(b).replaceWith(a);y.fire(x.NODE_INSERTED,a)},remove:function(a){y.fire(x.NODE_REMOVED,a);$(a).remove()}};s.namespace('DOM',A);var B=function(){y.subscribe(x.NODE_INSERTED,this.nodeInserted.bind(this));y.subscribe(x.NODE_REMOVED,this.nodeRemoved.bind(this))};B.prototype={constructor:B,nodeInserted:s.AbstractMethod,nodeRemoved:s.AbstractMethod};s.namespace('DOMListener',B);var C=t.extend(B,function(a){this.settings=$.extend({},C.Defaults,a);this.parseNode(document)},{parseNode:function(a){var b=this.settings;var c=$(b.formSelector,a);if(c.length>0){if(b.captureSubmit){y.capture(x.SUBMIT,c)}if(b.captureChange){var d=$('input,select,textarea',c);y.capture(x.CHANGE,d)}if(b.replaceInputs){this.replaceInputs(c)}if(b.hintValues){this.hintValues(c)}}},nodeInserted:function(e){if(this.settings.ajaxEnabled){this.parseNode(e.target)}},nodeRemoved:function(e){var a=this.settings;if(a.captureSubmit){var b=$(a.formSelector,e.target);b.unbind()}if(a.captureChange){var c=$('input,select,textarea',e.target);c.unbind()}},hintValues:function(b){var c=/text|pass/i;var d=$(this.settings.hintSelector,b);var e=this.focusInput.bind(this);var f=this.blurInput.bind(this);d.each(function(){if(!c.test(this.type)){return}var a=$(this);a.bind(x.FOCUS,e);a.bind(x.BLUR,f)});d.trigger(x.BLUR)},focusInput:function(e){var a=e.target;if(a.value===a.title){a.value='';$(a).removeClass(this.settings.hintClass)}},blurInput:function(e){var a=e.target;if(a.value===a.title||a.value===''){a.value=a.title;$(a).addClass(this.settings.hintClass)}},replaceInputs:function(i){var j=/submit|reset/i;var k=/submit/i;var l=this.settings;var m=l.buttonTemplate;var n=l.replacedClass;var o=l.simulateClick;var p=$(l.buttonSelector,i);p.each(function(){if(!j.test(this.type)){return}var c=this;var d=c.form;var f=$(c);var g=$(m.replace(/\$([a-z]+)/mig,function(a,b){return c[b]||''}));f.addClass(n);f.after(g);if(o){var h=k.test(c.type)?x.SUBMIT:x.RESET;g.bind(x.CLICK,function(e){e.preventDefault();if($(d).triggerHandler(h,{explicitTarget:c})!==false){f.trigger(x.CLICK)}})}})},post:function(a,b,c,d){if(!c){if(y.fire(x.SUBMIT,a)){if(b){a.setAttribute('action',b)}a.submit()}}else{if(y.fire(x.AJAX_SUBMIT,a)){var e=C.serialize(a);var f=b||a.getAttribute('action');$.post(e,f,c,d)}}}});C.serialize=function(a){var b=new v();var c=/(text|select|hidden|pass)/i;var d=/select/i;var e=a.elements||$('input,select,textarea',a);for(var i=0;i<e.length;i++){var f=e[i];var g=f.type;if(c.test(g)||f.checked){if(d.test(f.nodeName)){var h=f.selectedIndex;if(h>=0&&f[h]){var j=f[h];b.append(f.name,'=',encodeURIComponent(j.value||j.text),'&')}}else{b.append(f.name,'=',encodeURIComponent(f.value),'&')}}}return b.toString()};C.Defaults={captureSubmit:true,captureChange:false,ajaxEnabled:true,formSelector:'form',hintValues:true,hintSelector:'input[title]',hintClass:'blurred',replaceInputs:true,buttonSelector:'input',buttonTemplate:'<a href="#" class="$className"><span>$value</span></a>',replacedClass:'replaced',simulateClick:true};s.namespace('Forms',C);y.capture(x.CLICK);y.createEvent('click:link',function(e){var a=$(e.target).closest('a');return a[0]||null});y.createEvent('click:input',function(e){var a=$(e.target).closest('input,select,textarea');return a[0]||null});return s})(jQuery);

/**
 * LBI SimpleMenu
 *
 * @module    simplemenu
 * @version   1.00.091009
 * @requires  LBi, jQuery
 * @author    LBi Lost Boys
 */
LBi.SimpleMenu=(function($){var j=1;var k=2;var l=1;var m=2;var n=3;var o=37;var p=38;var q=39;var r=40;var s=function(a,b){$.extend(this,s.Defaults,b);this.root=a;this.state=j;this.stateChange=null;this.defaultItem=$('.'+this.activeClass,this.root)[0];$(this.root).bind('mouseover',this.mouseover.bind(this));$(this.root).bind('mouseout',this.mouseout.bind(this));if(this.keyEnabled){var c=$('a',this.root);c.bind('focus',this.mouseover.bind(this));c.bind('blur',this.mouseout.bind(this));c.bind('keyup',this.keyup.bind(this))}};s.prototype={constructor:s,toggleMenu:function(a,b){$(a)[b?'addClass':'removeClass'](this.activeClass)},toggleItem:function(a,b){$(a)[b?'addClass':'removeClass'](this.hoverClass)},mouseover:function(e){var a=$(e.target).closest(this.itemSelector)[0];if(a&&(a!=this.item)){this.setCurrent(a);clearTimeout(this.stateChange);var b=this;var c=function(){b.toggle(a)};switch(this.state){case j:this.stateChange=setTimeout(c,this.openDelay);break;case k:this.stateChange=setTimeout(c,this.switchDelay);break}}},mouseout:function(e){var a=e.relatedTarget;while(a){if(a==this.root){return}a=a.parentNode}this.setCurrent(null);clearTimeout(this.stateChange);var b=this;switch(this.state){case j:break;case k:this.stateChange=setTimeout(function(){b.toggle(false)},this.closeDelay);break}},keyup:function(e){var a=e.keyCode;if(a<37||a>40){return}var b;var c=this.itemSelector;var d=$(e.target).closest(c);var f=d.siblings(c);var g=this.getOrientation(f);switch(a){case o:b=(g==l)?d.prev(c):d.parent().closest(c);break;case p:b=(g==m)?d.prev(c):d.parent().closest(c);break;case q:b=(g==l)?d.next(c):d.find(c).eq(0);break;case r:b=(g==m)?d.next(c):d.find(c).eq(0);break}var h=b?b.find(' > a'):null;if(h&&h.length){h.trigger('focus');e.preventDefault()}},getOrientation:function(a){if(a.length<1){return n}else{return(a[0].offsetTop==a[1].offsetTop)?l:m}},toggle:function(a){var b=a?a.parentNode:this.root;var c;var d=$(b).find(this.menuSelector);for(var i=0;i<d.length;i++){c=d[i];if(c.parentNode!=a){this.toggleMenu(c.parentNode,false)}}if(a){c=$(a).find(this.menuSelector)[0];if(c){this.toggleMenu(c.parentNode,true)}}else if(this.defaultItem){this.setCurrent(this.defaultItem);this.toggleMenu(this.defaultItem,true)}this.state=a?k:j},setCurrent:function(a){if(this.item){this.toggleItem(this.item,false)}if(a){this.item=a;this.toggleItem(this.item,true)}}};s.Defaults={openDelay:500,switchDelay:200,closeDelay:1000,hoverClass:'hover',activeClass:'active',itemSelector:'li',menuSelector:'ul',keyEnabled:true};s.instances=$.registerPlugin('simpleMenu',s);return s})(jQuery);

