var ComponentsFormTools=function(){var handleTwitterTypeahead=function(){var numbers=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.num);},queryTokenizer:Bloodhound.tokenizers.whitespace,local:[{num:'metronic'},{num:'keenthemes'},{num:'metronic theme'},{num:'metronic template'},{num:'keenthemes team'}]});numbers.initialize();if(Metronic.isRTL()){$('#typeahead_example_1').attr("dir","rtl");}
$('#typeahead_example_1').typeahead(null,{displayKey:'num',hint:(Metronic.isRTL()?false:true),source:numbers.ttAdapter()});var countries=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.name);},queryTokenizer:Bloodhound.tokenizers.whitespace,limit:10,prefetch:{url:'demo/typeahead_countries.json',filter:function(list){return $.map(list,function(country){return{name:country};});}}});countries.initialize();if(Metronic.isRTL()){$('#typeahead_example_2').attr("dir","rtl");}
$('#typeahead_example_2').typeahead(null,{name:'typeahead_example_2',displayKey:'name',hint:(Metronic.isRTL()?false:true),source:countries.ttAdapter()});var custom=new Bloodhound({datumTokenizer:function(d){return d.tokens;},queryTokenizer:Bloodhound.tokenizers.whitespace,remote:'demo/typeahead_custom.php?query=%QUERY'});custom.initialize();if(Metronic.isRTL()){$('#typeahead_example_3').attr("dir","rtl");}
$('#typeahead_example_3').typeahead(null,{name:'datypeahead_example_3',displayKey:'value',source:custom.ttAdapter(),hint:(Metronic.isRTL()?false:true),templates:{suggestion:Handlebars.compile(['<div class="media">','<div class="pull-left">','<div class="media-object">','<img src="{{img}}" width="50" height="50"/>','</div>','</div>','<div class="media-body">','<h4 class="media-heading">{{value}}</h4>','<p>{{desc}}</p>','</div>','</div>',].join(''))}});var nba=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.team);},queryTokenizer:Bloodhound.tokenizers.whitespace,prefetch:'demo/typeahead_nba.json'});var nhl=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.team);},queryTokenizer:Bloodhound.tokenizers.whitespace,prefetch:'demo/typeahead_nhl.json'});nba.initialize();nhl.initialize();if(Metronic.isRTL()){$('#typeahead_example_4').attr("dir","rtl");}
$('#typeahead_example_4').typeahead({hint:(Metronic.isRTL()?false:true),highlight:true},{name:'nba',displayKey:'team',source:nba.ttAdapter(),templates:{header:'<h3>NBA Teams</h3>'}},{name:'nhl',displayKey:'team',source:nhl.ttAdapter(),templates:{header:'<h3>NHL Teams</h3>'}});}
var handleTwitterTypeaheadModal=function(){var numbers=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.num);},queryTokenizer:Bloodhound.tokenizers.whitespace,local:[{num:'metronic'},{num:'keenthemes'},{num:'metronic theme'},{num:'metronic template'},{num:'keenthemes team'}]});numbers.initialize();if(Metronic.isRTL()){$('#typeahead_example_modal_1').attr("dir","rtl");}
$('#typeahead_example_modal_1').typeahead(null,{displayKey:'num',hint:(Metronic.isRTL()?false:true),source:numbers.ttAdapter()});var countries=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.name);},queryTokenizer:Bloodhound.tokenizers.whitespace,limit:10,prefetch:{url:'demo/typeahead_countries.json',filter:function(list){return $.map(list,function(country){return{name:country};});}}});countries.initialize();if(Metronic.isRTL()){$('#typeahead_example_modal_2').attr("dir","rtl");}
$('#typeahead_example_modal_2').typeahead(null,{ name:'typeahead_example_modal_2',displayKey:'name',hint:(Metronic.isRTL()?false:true),source:countries.ttAdapter()});var custom=new Bloodhound({datumTokenizer:function(d){return d.tokens;},queryTokenizer:Bloodhound.tokenizers.whitespace,remote:'demo/typeahead_custom.php?query=%QUERY'});custom.initialize();if(Metronic.isRTL()){$('#typeahead_example_modal_3').attr("dir","rtl");}
$('#typeahead_example_modal_3').typeahead(null,{name:'datypeahead_example_modal_3',displayKey:'value',hint:(Metronic.isRTL()?false:true),source:custom.ttAdapter(),templates:{suggestion:Handlebars.compile(['<div class="media">','<div class="pull-left">','<div class="media-object">','<img src="{{img}}" width="50" height="50"/>','</div>','</div>','<div class="media-body">','<h4 class="media-heading">{{value}}</h4>','<p>{{desc}}</p>','</div>','</div>',].join(''))}});var nba=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.team);},queryTokenizer:Bloodhound.tokenizers.whitespace,limit:3,prefetch:'demo/typeahead_nba.json'});var nhl=new Bloodhound({datumTokenizer:function(d){return Bloodhound.tokenizers.whitespace(d.team);},queryTokenizer:Bloodhound.tokenizers.whitespace,limit:3,prefetch:'demo/typeahead_nhl.json'});nba.initialize();nhl.initialize();$('#typeahead_example_modal_4').typeahead({hint:(Metronic.isRTL()?false:true),highlight:true},{name:'nba',displayKey:'team',source:nba.ttAdapter(),templates:{header:'<h3>NBA Teams</h3>'}},{name:'nhl',displayKey:'team',source:nhl.ttAdapter(),templates:{header:'<h3>NHL Teams</h3>'}});}
var handleBootstrapSwitch=function(){$('.switch-radio1').on('switch-change',function(){$('.switch-radio1').bootstrapSwitch('toggleRadioState');});$('.switch-radio1').on('switch-change',function(){$('.switch-radio1').bootstrapSwitch('toggleRadioStateAllowUncheck');});$('.switch-radio1').on('switch-change',function(){$('.switch-radio1').bootstrapSwitch('toggleRadioStateAllowUncheck',false);});}
var handleBootstrapTouchSpin=function(){$("#touchspin_demo1").TouchSpin({buttondown_class:'btn green',buttonup_class:'btn green',min:-1000000000,max:1000000000,stepinterval:50,maxboostedstep:10000000,prefix:'$'});$("#touchspin_demo2").TouchSpin({buttondown_class:'btn blue',buttonup_class:'btn blue',min:0,max:100,step:0.1,decimals:2,boostat:5,maxboostedstep:10,postfix:'%'});$("#touchspin_demo3").TouchSpin({buttondown_class:'btn green',buttonup_class:'btn green',prefix:"$",postfix:"%"});}
var handleBootstrapMaxlength=function(){$('#maxlength_defaultconfig').maxlength({limitReachedClass:"label label-danger",})
$('#maxlength_thresholdconfig').maxlength({limitReachedClass:"label label-danger",threshold:20});$('#maxlength_alloptions').maxlength({alwaysShow:true,warningClass:"label label-success",limitReachedClass:"label label-danger",separator:' out of ',preText:'You typed ',postText:' chars available.',validate:true});$('#maxlength_textarea').maxlength({limitReachedClass:"label label-danger",alwaysShow:true});$('#maxlength_placement').maxlength({limitReachedClass:"label label-danger",alwaysShow:true,placement:Metronic.isRTL()?'top-right':'top-left'
});}
var handleSpinners=function(){$('#spinner1').spinner();$('#spinner2').spinner({disabled:true});$('#spinner3').spinner({value:0,min:0,max:10});$('#spinner4').spinner({value:0,step:5,min:0,max:200});}
var handleTagsInput=function(){if(!jQuery().tagsInput){return;}
$('#tags_1').tagsInput({width:'auto','onAddTag':function(){},});$('#tags_2').tagsInput({width:300});}
var handleInputMasks=function(){$.extend($.inputmask.defaults,{'autounmask':true});$("#mask_date").inputmask("d/m/y",{autoUnmask:true});$("#mask_date1").inputmask("d/m/y",{"placeholder":"*"});$("#mask_date2").inputmask("d/m/y",{"placeholder":"dd/mm/yy"});$("#mask_phone").inputmask("mask",{"mask":"(999) 999-9999"});$("#mask_tin").inputmask({"mask":"99-9999999",placeholder:""});$("#mask_number").inputmask({"mask":"9","repeat":10,"greedy":false});$("#mask_decimal").inputmask('decimal',{rightAlignNumerics:false});$("#mask_currency").inputmask('€ 999.999.999,99',{numericInput:true});$("#mask_currency2").inputmask('€ 999,999,999.99',{numericInput:true,rightAlignNumerics:false,greedy:false});$("#mask_ssn").inputmask("999-99-9999",{placeholder:" ",clearMaskOnLostFocus:true});}
var handleIPAddressInput=function(){$('#input_ipv4').ipAddress();$('#input_ipv6').ipAddress({v:6});}
var handlePasswordStrengthChecker=function(){var initialized=false;var input=$("#password_strength");input.keydown(function(){if(initialized===false){input.pwstrength({raisePower:1.4,minChar:8,verdicts:["Weak","Normal","Medium","Strong","Very Strong"],scores:[17,26,40,50,60]});input.pwstrength("addRule","demoRule",function(options,word,score){return word.match(/[a-z].[0-9]/)&&score;},10,true);initialized=true;}});}
var handleUsernameAvailabilityChecker1=function(){var input=$("#username1_input");$("#username1_checker").click(function(e){var pop=$(this);if(input.val()===""){input.closest('.form-group').removeClass('has-success').addClass('has-error');pop.popover('destroy');pop.popover({'placement':(Metronic.isRTL()?'left':'right'),'html':true,'container':'body','content':'Please enter a username to check its availability.',});pop.data('bs.popover').tip().addClass('error');Metronic.setLastPopedPopover(pop);pop.popover('show');e.stopPropagation();return;}
var btn=$(this);btn.attr('disabled',true);input.attr("readonly",true).
attr("disabled",true).
addClass("spinner");$.post('demo/username_checker.php',{username:input.val()},function(res){btn.attr('disabled',false);input.attr("readonly",false).
attr("disabled",false).
removeClass("spinner");if(res.status=='OK'){input.closest('.form-group').removeClass('has-error').addClass('has-success');pop.popover('destroy');pop.popover({'html':true,'placement':(Metronic.isRTL()?'left':'right'),'container':'body','content':res.message,});pop.popover('show');pop.data('bs.popover').tip().removeClass('error').addClass('success');}else{input.closest('.form-group').removeClass('has-success').addClass('has-error');pop.popover('destroy');pop.popover({'html':true,'placement':(Metronic.isRTL()?'left':'right'),'container':'body','content':res.message,});pop.popover('show');pop.data('bs.popover').tip().removeClass('success').addClass('error');Metronic.setLastPopedPopover(pop);}},'json');});}
var handleUsernameAvailabilityChecker2=function(){$("#username2_input").change(function(){var input=$(this);if(input.val()===""){input.closest('.form-group').removeClass('has-error').removeClass('has-success');$('.fa-check, fa-warning',input.closest('.form-group')).remove();return;}
input.attr("readonly",true).
attr("disabled",true).
addClass("spinner");$.post('demo/username_checker.php',{username:input.val()},function(res){input.attr("readonly",false).
attr("disabled",false).
removeClass("spinner");if(res.status=='OK'){input.closest('.form-group').removeClass('has-error').addClass('has-success');$('.fa-warning',input.closest('.form-group')).remove();input.before('<i class="fa fa-check"></i>');input.data('bs.popover').tip().removeClass('error').addClass('success');}else{input.closest('.form-group').removeClass('has-success').addClass('has-error');$('.fa-check',input.closest('.form-group')).remove();input.before('<i class="fa fa-warning"></i>');input.popover('destroy');input.popover({'html':true,'placement':(Metronic.isRTL()?'left':'right'),'container':'body','content':res.message,});input.popover('show');input.data('bs.popover').tip().removeClass('success').addClass('error'); Metronic.setLastPopedPopover(input);}},'json');});}
return{init:function(){handleTwitterTypeahead();handleTwitterTypeaheadModal();handleBootstrapSwitch();handleBootstrapTouchSpin();handleBootstrapMaxlength();handleSpinners();handleTagsInput();handleInputMasks();handleIPAddressInput();handlePasswordStrengthChecker();handleUsernameAvailabilityChecker1();handleUsernameAvailabilityChecker2();}};}();