(function(a){a.fn.languagechooser=function(k){if(this.length>1){this.each(function(){a(this).languagechooser(k)});return this}var g=[{code:"en",text:"English"},{code:"de",text:"Deutsch"},{code:"es",text:"Español"},{code:"it",text:"Italiano"},{code:"fr",text:"Français"},{code:"pt_BR",text:"Português (Brasil)"}];var e={language_endpoint:"/api/user/set-locale/",current_language_code:"en",js_base:""};e=a.extend(e,k);if(e.current_language_code=="pt-br"){e.current_language_code="pt_BR"}var j=this;var h=this.selector;var d=function(l){for(x=0;x<g.length;x++){var m=g[x];if(m.code==l){return m.text}}return g[0].text};var f=function(){if(b(e.js_base+"/jsi18n.js")){a(h).bind("scriptloaded",c);return true}else{c()}};var i=function(){a(h+" #language_list li :input").bind("click",function(){var n=a(h+" #language_list :input:checked").next().html();var l=a(h+" #language_form");var m=l.serialize();a("body").trigger("track",{eventName:"languageSelected"});a(h).removeClass("active");a(h+" #language_list").slideUp();a(h+" #active_lang").addClass("loader");a(h+" #active_lang #active_language").html(n);a.post(l.attr("action"),m,function(o){a(h).trigger("languageChanged",{new_lang:n});if(o&&o.next){window.location=o.next}else{window.location.reload()}})});a(h+" #active_lang > a").bind("click",function(l){l.preventDefault();a(h+" #language_list").slideToggle();a("#languagechooser").toggleClass("active")})};var c=function(){var n=a("<ul/>");var l=a("<div/>").attr("id","language_list").addClass("ui-helper-hidden");var m=a("<form/>").attr("id","language_form");m.attr("action",e.language_endpoint).attr("method","post");var o='<p id="active_lang" ><em>Selected Language: </em><a rel="'+e.current_language_code+'" href="#language_list"><span id="active_language">'+d(e.current_language_code)+"</span></a></p>";a.each(g,function(q,r){var p=a("<li/>").attr("id","option_"+r.code).html('<input type="radio" id="lang_'+r.code+'" value="'+r.code+'" name="locale" /><label for="lang_'+r.code+'"><span>'+r.text+"</span></label>");n.append(p)});l.append(n);m.append(o).append(l);a(h).append(m);i()};var b=function(m){var l=false;a("script").each(function(o,p){var n=a(p);var q=n.attr("src");if(q&&q.indexOf(m)!=-1){l=true}});if(!l){a.getScript(m,function(){a(h).trigger("scriptloaded",{script:m})});return true}return false};this.intialize=function(){f();return this};this.bar=function(){};return this.intialize()}})(jQuery);
