(function(f,h){var e=(function(){var i=(function(){var l=document.createElement("input");return"placeholder" in l}());if(!i){return true}var k=navigator.userAgent;var j=k.indexOf("Safari")>=0&&k.indexOf("Chrome")<0;if(j){return false}return true}());var d={};var c={};var g=15;var b=27;var a=function(){};f.extend(a.prototype,{boundingBox:null,contentBox:null,messageBox:null,placeholderBox:null,components:null,isArea:false,input:null,init:function(i,o){this.input=i;var n=" boxer-input boxer-font";var j="boxer-content-box-focused";if(i.is("textarea")){n+=" boxer-textarea";this.isArea=true}else{n+=" boxer-textbox"}var m=i.attr("class");var q=i.attr("style");var p=o.placeholder;if(p===h){p=i.attr("placeholder")}var k='<div class="boxer-bounding-box'+(this.isArea?" boxer-bounding-box-area":"")+(m?" "+m:"")+'"'+(q?' style="'+q+'"':"")+'><div class="boxer-content-box"></div></div>';var l=this;i.attr({"class":n,style:"",placeholder:""}).wrap(k).focus(function(s){var r=l.contentBox;r.addClass(j)}).blur(function(s){if(l.noBlur){return}var r=l.contentBox;r.removeClass(j)});this.contentBox=i.parents(".boxer-content-box").first();this.boundingBox=this.contentBox.parent();if(p){this.setPlaceholder(p)}this.contentBox.on("mousedown touchstart",function(s){var r=l.input;if(s.target===r[0]){return}l.noBlur=true;setTimeout(function(){delete l.noBlur;if(r.is(":focus")){return}r.focus()},100)});this.input.keyup(function(r){if(r.keyCode===13&&!l.isArea){i.trigger("enter",r)}else{if(r.keyCode===27){i.trigger("escape",r)}}});if(o.leftComponent){this.setComponent("left",o.leftComponent)}if(o.rightComponent){this.setComponent("right",o.rightComponent)}},_removeComponent:function(k,m){var i=this.components;if(!i){return}var j=i[k];if(j){var l=j.delegate;if(l&&f.isFunction(l.setup)){l.setup(j.element,this)}j.element.remove();i[k]=null;if(m){this.contentBox.css("padding-"+(k===0?"left":"right"),"")}}},setComponent:function(m,p,k){var q;if(!f.isNumeric(m)){m=m.toLowerCase();if(m==="left"){q=0}else{if(m==="right"){q=1}else{throw"Boxer: Invalid side for component. Pass left or right"}}}this._removeComponent(q,!p);if(!p){return}if(c.hasOwnProperty(p)){p=c[p]}var j,n;if(typeof p==="string"){j=f(p)}else{if(p instanceof f){j=p}else{if(typeof p==="object"){n=p}else{throw"Unrecognized component param for setComponent"}}}if(!n){n=k}if(n){j=f(n.template)}p=null;j.addClass("boxer-component");var l=(n&&n.width!==h)?n.width:j.width();var i=(n&&n.height!==h)?n.height:j.height();var o=(b-i)/2;j.css({top:o,left:q===0?o:"auto",right:q===1?o:"auto"});this.contentBox.css("padding-"+m,l+o*2-(q===0?2:0));this.contentBox.prepend(j);if(!this.components){this.components=[]}this.components[q]={element:j,delegate:n};if(n&&f.isFunction(n.setup)){n.setup(j,this)}},getBoundingBox:function(){return this.boundingBox},showError:function(i,k,j){this.showMessage(i,"error",k,j)},showWarning:function(i,k,j){this.showMessage(i,"warning",k,j)},clearMessage:function(l,k){if(l===h){l=100}var j=this.input;this.boundingBox.removeClass("boxer-error boxer-warning");var i=this.messageBox;if(i){i.slideUp(l,k,function(){i.removeClass("boxer-message-error boxer-message-warning")})}if(f.isNumeric(this.prevMargin)){this.boundingBox.animate({"margin-bottom":this.prevMargin},l);delete this.prevMargin}},showMessage:function(n,l,p,o){if(p===h){p=200}var k="";var m="";l=l.toLowerCase();switch(l){case"error":k="boxer-error";m="boxer-message-error";break;case"warning":k="boxer-warning";m="boxer-message-warning";break;default:return}var j=this.messageBox;if(!j){this.contentBox.after("<div class='boxer-message roundCorners' style='display: none;'></div>");j=this.messageBox=this.contentBox.next()}if(j.is("."+m)){j.html(n);return}this.clearMessage(0);var i=parseInt(this.boundingBox.css("margin-bottom"));if(f.isNumeric(i)===false){i=0}this.prevMargin=i;i+=24;this.boundingBox.animate({"margin-bottom":i},p);this.boundingBox.addClass(k);this.messageBox.hide().addClass(m).html(n).slideDown(p,o)},setText:function(j){if(j===h){j=""}var i=this.input;i.val(j);i.trigger("change")},getText:function(){return this.input.val()},setFocus:function(){this.input.focus()},clear:function(){this.setText();this.clearMessage()},setPlaceholder:function(m){var i=this.input;if(!e){i.attr("placeholder",m);return}var l=this.placeholderBox;if(!m){i.unbind("change.boxer textchange.boxer");l.remove();this.placeholderBox=null}else{if(!l){this.placeholderBox=l=f('<div class="boxer-placeholder boxer-font">'+m+"</div>");i.before(l);var k=function(o){var n=i.val();if(n&&n.length>0){l.stop(true,true);l.hide()}else{if(o){l.show()}else{l.fadeIn()}}};i.bind("change.boxer textchange.boxer",function(n){k()});var j=f.browser;if(!j||(j.msie&&parseInt(j.version,10)<=8)){l.disableSelection();l.bind("mousedown.boxer",function(n){i.mousedown();i.focus()});l.bind("click.boxer",function(n){i.click()})}k(true)}else{l.html(m);i.trigger("change")}}}});f.fn.boxer=function(k){if(!this.length){return this}if(!k){k={}}var j;if(typeof k==="string"){j=Array.prototype.slice.call(arguments,1)}else{if(k.style){if(d.hasOwnProperty(k.style)){k=f.extend({},d[k.style],k)}}}var l;var i=this;this.each(function(){l=f(this);var m=f.data(this,"boxer");if(m){var n=m[k];if(f.isFunction(n)){i=n.apply(m,j);return false}else{f.error("Method doesn't exist on boxer; "+k);return h}}else{if(typeof k!=="object"){f.error("Can't call method "+k+" without initing boxer first");return h}m=new a();f.data(this,"boxer",m);m.init(l,k)}return h});return i};f.fn.boxer.style=function(i,j){d[i]=j};f.fn.boxer.component=function(i,j){c[i]=j};f.boxer={showError:function(i,j,l,k){i.boxer("showError",j,l,k)},showWarning:function(i,j,l,k){i.boxer("showWarning",j,l,k)},clearMessage:function(i,k,j){i.boxer("clearMessage",k,j)},showMessage:function(i,k,j,m,l){i.boxer("showMessage",k,j,m,l)},setText:function(i,j){i.boxer("setText",j)},clear:function(i){i.boxer("clear")},setPlaceholder:function(i,j){i.boxer("setPlaceholder",j)}};f.fn.boxer.component("x",{template:'<div class="boxer-icon boxer-icon-x" style="display: none"></div>',isInteractive:true,width:15,height:15,setup:function(i,j){var k=false;if(j.getText()){i.show();k=true}i.on("click",function(){j.setText();j.setFocus()});j.input.on("textchange.boxerx change.boxerx",function(){var l=j.getText();if(l===k){return}if(l){i.show()}else{i.hide()}k=l})},destroy:function(i,j){j.input.off(".boxerx")}});f.fn.boxer.component("error",{template:'<div class="boxer-icon boxer-icon-error"></div>',width:21,height:19});f.fn.boxer.component("search",{template:'<div class="boxer-icon boxer-icon-mag"></div>',width:13,height:13});f.fn.boxer.component("add",{template:'<div class="boxer-icon boxer-icon-add boxer-add-disabled"></div>',isInteractive:true,width:21,height:21,setup:function(i,j){var k=true;if(j.getText()){i.removeClass("boxer-add-disabled");k=false}i.click(function(l){if(k){return}j.input.trigger("enter")});j.input.on("textchange.boxeradd change.boxeradd",function(){var l=(j.getText().length<=0);if(l===k){return}if(l){i.addClass("boxer-add-disabled")}else{i.removeClass("boxer-add-disabled")}k=l})},destroy:function(i,j){j.input.off(".boxeradd")}});f.fn.boxer.style("search",{placeholder:"Search",leftComponent:"search",rightComponent:"x"})}(jQuery));
