(function(a){a.PrepaidTopUpClass=function(){this.construct()},a.extend(a.PrepaidTopUpClass.prototype,{construct:function(){this.i18n_setup();this.fixscroll();this.init();this.validate()},i18n_setup:function(){var f="";var e=a("script");for(var d=0,b=e.length;d<b;d++){var c=e[d].src;if(/lang/.test(c)){f=basename(c,".js");break}}if((typeof i18n_dict!="object")||(typeof f!="string")){document.body.innerHTML='<div style="width: 50%; margin: 100px auto;"><h1>ERROR:<br>i18n setup failed. Application need the language file.</h1></div>';return false}a.i18n.i18n_dict=i18n_dict},fixscroll:function(){scrollElement="html, body";a("html, body").each(function(){var b=a(this).attr("scrollTop");a(this).attr("scrollTop",b+1);if(a(this).attr("scrollTop")==b+1){scrollElement=this.nodeName.toLowerCase();a(this).attr("scrollTop",b);return false}})},scroll:function(b){var c=a(b).offset().top;a(scrollElement).animate({scrollTop:c},150)},preloadImages:function(){var b=(typeof arguments[0]=="object")?arguments[0]:arguments;for(var c=b.length-1;c>0;c--){a("<img>").attr("src",b[c])}},init:function(){this.preloadImages(["/common/img/boxy/exclamation.gif"]);a("div.errors-container").hide();a("a[rel=external]").attr("target","_blank");a("a").css("outline","none");this.normalize_tr_color();this.attach_tooltip()},normalize_tr_color:function(){a("tr.row-a").each(function(c){this.className="alt-color"});a("tr.row-b").each(function(c){this.className="alt-color"});var b=[];a("tr.alt-color").each(function(c){if(a(this).css("display")!="none"){b.push(this)}});a.each(b,function(c){this.className=(c%2==0)?"row-a":"row-b"})},attach_tooltip:function(){a("#username").bt(a.i18n._("bt_username"),{trigger:["focus","blur"],positions:["right"]});a("#permit_number").bt(a.i18n._("bt_permit_number"),{trigger:["focus","blur"],positions:["right"]});a("#account_number").bt(a.i18n._("bt_account_number"),{trigger:["focus","blur"],positions:["right"]});a("#amount").bt(a.i18n._("bt_amount"),{trigger:["focus","blur"],positions:["right"]})},format_amount:function(){var b=a.trim(a("#amount").val());b=(b!="")?b:0;if(/^[0-9]+$/.test(b)){if(!isNaN(parseFloat(b))){a("#amount").val(parseFloat(b).toFixed(2))}}},validate:function(){var c=a("form:first");var b=this;a.validator.addMethod("alpnum",function(f,d){var e=true;if(/[^0-9A-Za-z\-_]/.test(f)){e=false}return this.optional(d)||e});a.validator.addMethod("nozero",function(f,d){var e=true;if(!isNaN(parseFloat(f))){if(parseFloat(f)<10||parseInt(f)<10){e=false}}return e});c.unbind().validate({onfocusout:false,onkeyup:false,onclick:false,focusInvalid:false,groups:{},rules:{username:{required:true,alpnum:a(this).val(),minlength:4,maxlength:20},permit_number:{required:true,alpnum:a(this).val(),minlength:4,maxlength:10},account_number:{required:true,alpnum:a(this).val(),minlength:8,maxlength:12},amount:{required:true,number:true,nozero:a(this).val()}},messages:{username:{required:a.i18n._("username_required"),alpnum:a.i18n._("username_alpnum"),minlength:a.i18n._("username_minlength"),maxlength:a.i18n._("username_maxlength")},permit_number:{required:a.i18n._("permit_number_required"),alpnum:a.i18n._("permit_number_alpnum"),minlength:a.i18n._("permit_number_minlength"),maxlength:a.i18n._("permit_number_maxlength")},account_number:{required:a.i18n._("account_number_required"),alpnum:a.i18n._("account_number_alpnum"),minlength:a.i18n._("account_number_minlength"),maxlength:a.i18n._("account_number_maxlength")},amount:{required:a.i18n._("amount_required"),number:a.i18n._("amount_number"),nozero:a.i18n._("amount_nozero")}},errorPlacement:function(d,e){switch(e.attr("name")){case"username":case"permit_number":case"account_number":case"amount":d.appendTo("div.step-errors:eq(0)");break;default:d.insertAfter(e)}},showErrors:function(f,h){a("div.errors-container").hide();a.each(a("div.step-errors"),function(k){a(this).empty()});this.defaultShowErrors();var e=a("div.step-errors");var j=[];var g=true;for(var d=0;d<e.length;d++){if(a(e[d]).children().length>0){g=false;j.push(d);a(e[d]).parents("div.errors-container:eq(0)").show()}}if(!g){b.scroll(a("legend:eq("+j[0]+")"))}}});c.delegate("focusout","#amount",function(){b.format_amount()})}});a(document).ready(function(){if(typeof a.PrepaidTopUp==="undefined"){a.PrepaidTopUp=new a.PrepaidTopUpClass()}})})(jQuery);