(function(){var a=this,d,c=function(e,h){var f=$(e);var g;$(" option",f).each(function(){if($(this).text()==h){g=$(this).val();return f.attr("value",g)}});return g},b=a.invoice={root:"",debug:false,config:{language:"en",jsdir:"/javascripts/",cssdir:"/skins/",controller:"",action:"",symbol:"$",dateformat:"mm/dd/y",ui:{deleteConfirm:"All select items will be delete,are you sure?",newClient:"New Client",addClientConfirm:"Are you sure you want to create a new client? Any changes you've made will be discarded.",noSelectAlert:"No one be checked",nowLoading:"Now Loading...",infinite:"infinite"}},fname:"",loadjs:["jquery-1.3.2.min.js","jquery.datepick.min.js","fancyzoom.min.js"],loadcss:["datepick.css"],loading:{html:'<div id="loading">Now Loading...</div>',style:{width:"120px",height:"20px",padding:"3px",position:"fixed",top:"0",left:"45%",background:"#A21F24",color:"#FFF","font-size":"13px"}},load:function(){var e=new Array();for(var f=0;f<b.loadjs.length;f++){e[f]=b.root+b.config.jsdir+b.loadjs[f]}b.loader(e)},loader:function(f){var j=f.length;var e=this;var g=arguments[1]||0;if(g>=j){b.main.common();return true}var i=arguments.callee;var h=f[g];this._load(h,function(){i.apply(e,[f,++g])});return true},_load:function(h,i){try{var f=document.createElement("script");f.src=h;f.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(f);if(f.addEventListener){f.addEventListener("load",i,false)}else{if(f.attachEvent){f.attachEvent("onreadystatechange",function(){if(f.readyState==4||f.readyState=="complete"||f.readyState=="loaded"){i()}})}}}catch(g){alert(g)}},loadc:function(){var g=document.getElementsByTagName("head")[0];var f=document.createElement("link");f.type="text/css";f.rel="stylesheet";for(var e=0;e<b.loadcss.length;e++){f.href=b.root+b.config.cssdir+b.loadcss[e];g.appendChild(f)}},init:function(e){for(var f in e){b.config[f]=e[f]}var g=b.config.controller+"_";if(b.main[g]!==d&&b.main[g].js!==d){for(var f=0;f<b.main[g].js.length;f++){b.loadjs.push(b.main[g].js[f])}}if(b.main[g]!==d&&b.main[g].css!==d){for(var f=0;f<b.main[g].css.length;f++){b.loadcss.push(b.main[g].css[f])}}g=b.config.controller+"_"+b.config.action;b.fname=g;if(b.main[g]!==d&&b.main[g].js!==d){for(var f=0;f<b.main[g].js.length;f++){b.loadjs.push(b.main[g].js[f])}}if(b.main[g]!==d&&b.main[g].css!==d){for(var f=0;f<b.main[g].css.length;f++){b.loadcss.push(b.main[g].css[f])}}if(b.config.language&&b.config.language!="en"){b.loadjs.push("i18n/"+b.config.language+".js")}b.loadc();b.load()},main:{common:function(){var e=b.loading.html.split("Now Loading...");b.loading.html=e[0]+b.config.ui.nowLoading+e[1];$("body").append(b.loading.html);$("#loading").css(b.loading.style).ajaxStart(function(){$(this).show()}).ajaxStop(function(){$(this).fadeOut("fast")});$(".assistant_tobe_show").removeClass("hide");$(".assistant_tobe_hide").addClass("hide");$(".btn").each(function(){$(this).html("<span><span>"+$(this).html()+"</span></span>")});$(".datepicker").datepick({dateFormat:b.config.dateformat});if($("#successMsg")[0]!==d){$(".success").html($("#successMsg").html());$("#successMsg").remove()}var f=b.config.controller+"_";if(b.main[f]!==d&&b.main[f].todo!==d){b.main[f].todo()}if(b.main[b.fname]!==d&&b.main[b.fname].todo!==d){b.main[b.fname].todo()}},grid:function(){$(".search legend").remove();$("#search_form_switcher").click(function(){$(this).toggleClass("switcher_close").toggleClass("switcher_open");$(".search").is(":hidden")?$(".search").slideDown():$(".search").slideUp()});var e=false;$("#checkall").click(function(){$("input[class='checkall']").attr("checked",!e);e=!e});$(".page_action .btn").each(function(){$(this).click(function(){var g=false;$("input[class='checkall']").each(function(){if($(this).attr("checked")==true){g=true;return}});if(g===false){return alert(b.config.ui.noSelectAlert)}var f=$(" span span",this).html();f=c("#pageAction",f);if(!(f=="delete"||f=="delete forever")||confirm(b.config.ui.deleteConfirm)){$(".grid").submit()}})})},addinvoice:function(){var h=$(".inputgrid tbody:first tr").length;var p="";function g(){$(".inputgrid tbody:first").append('<tr id="item_line_'+h+'">'+$(".inputgrid tbody:first tr:last").html()+"</tr>");o($("#item_line_"+h),true);h++}$("#add_newitemline").click(function(){$(".inputgrid tbody:first").show();g()});$("#helper_new_item").click(function(){g()});$("#helper_delete_item").click(function(){if($(".inputgrid tbody:first tr").length>2){$("#"+p).remove()}else{j($("#"+p));$(".inputgrid tbody:first").hide();$("#item_helper").hide()}l()});var q=$(".inputgrid tbody:first").get(0);$(" tr:not(:first)",q).each(function(){o($(this))});$("#new_discount").change(function(){l()});var n=function(){$(".ajax_taxes").ajaxForm({dataType:"json",success:function(r){if(r.success===d){alert(r.errors)}else{}}});return $("#ajax_taxes")[0]};$("#edit_taxes_link").fancyZoom({},n);function o(t,s){if(s){j(t)}$(" input[name='Corresponds[unitCost][]']",t).change(function(){i(t);l()});$(" input[name='Corresponds[quantity][]']",t).change(function(){i(t);l()});$(" textarea",t).keyup(function(){var u=$(this).val();u=u.split("\n");$(this).height(u.length*20)});var r=function(u){$("#item_helper").css({left:u.left-25,top:u.top+20}).show()};$(t).mouseover(function(){p=t[0].id;var u=$(this).position();r(u)});$(a).resize(function(){if(p){var u=$("#"+p).position();r(u)}});m(t,1);m(t,2);f(t)}function j(r){$(" input",r).val("");$(" textarea",r).val("");$(" select",r).attr("value","");$(" td:last",r).html("");$(" textarea",r).height(20);l()}function m(s,r){$(" select[name='Corresponds[tax"+r+"][]']",s).change(function(){var u=$(this)[0].value;if(u==""){$(" input[name='Corresponds[tax"+r+"Id][]']",s).val("");$(" input[name='Corresponds[tax"+r+"Name][]']",s).val("");$(" input[name='Corresponds[tax"+r+"Rate][]']",s).val("");l();return}if(u<0){$("#edit_taxes_link").click();return}var t=b.root+"/taxes/index:js/";$.getJSON(t,function(w){for(var v=0;v<w.length;v++){if(w[v].id==u){$(" input[name='Corresponds[tax"+r+"Id][]']",s).val(w[v].id);$(" input[name='Corresponds[tax"+r+"Name][]']",s).val(w[v].taxName);$(" input[name='Corresponds[tax"+r+"Rate][]']",s).val(w[v].taxRate);l();return}}})})}function f(r){$(" select[name='Corresponds[id][]']",r).change(function(){var t=$(this)[0].value;var s=b.root+"/items/view:js/"+$(this)[0].value;if(t==""){j(r);return}if(t<0){return}$.getJSON(s,function(u){for(var v in u){$(" input[name='Corresponds["+v+"][]']",r).val(u[v])}$(" textarea[name='Corresponds[description][]']",r).val(u.description);$(" select[name='Corresponds[tax1][]']",r).attr("value",u.tax1Id);$(" select[name='Corresponds[tax2][]']",r).attr("value",u.tax2Id);i(r);l()})})}function i(r){$(" td:last",r).html(k($(" input[name='Corresponds[unitCost][]']",r).val()*$(" input[name='Corresponds[quantity][]']",r).val()))}function k(r){return b.config.symbol+r.toFixed(2)}function l(){var x=[];var z=[];var u=[];var F=[];var I=[];var G=[];var y=[];var C=[];var B=[];var w={};var t=0;var D=0;var r=0;var A=0;var H=0;var v=0;$("input[name='Corresponds[unitCost][]']").each(function(){$(this).val()>0?x.push($(this).val()):x.push(0)});var E=0;$("input[name='Corresponds[quantity][]']").each(function(){$(this).val()>0?z.push($(this).val()):z.push(0);u.push(x[E]*z[E]);E++});t=$("#new_discount").val();t=t>0?Number(t)/100:0;$("input[name='Corresponds[tax1Id][]']").each(function(){F.push($(this).val())});$("input[name='Corresponds[tax1Name][]']").each(function(){I.push($(this).val())});$("input[name='Corresponds[tax1Rate][]']").each(function(){G.push($(this).val())});$("input[name='Corresponds[tax2Id][]']").each(function(){y.push($(this).val())});$("input[name='Corresponds[tax2Name][]']").each(function(){C.push($(this).val())});$("input[name='Corresponds[tax2Rate][]']").each(function(){B.push($(this).val())});for(E=0;E<F.length;E++){if(F[E]>0){var J="tax"+F[E];if(w[J]===d){w[J]={Total:0}}w[J].Name=I[E];w[J].Rate=G[E];w[J].Total+=t>0?u[E]*(1-t)*G[E]/100:u[E]*G[E]/100}if(y[E]>0){var J="tax"+y[E];if(w[J]===d){w[J]={Total:0}}w[J].Name=C[E];w[J].Rate=B[E];w[J].Total+=t>0?u[E]*(1-t)*B[E]/100:u[E]*B[E]/100}}D=e(u);r=D*t;A=D-r;for(E in w){A+=w[E].Total}H=$("#new_payment").val();H=H>0?Number(H):0;v=A-H;$("#totalSub td:last").html(k(D));if(t>0){$("#totalDiscount").removeClass("hide")}$("#totalDiscount td:last").html("-"+k(r));$(".totalTax").remove();var s=[];for(E in w){s.push('<tr class="totalTax"><td>'+w[E].Name+"("+w[E].Rate+'%)</td><td class="align-right"> +'+k(w[E].Total)+"</td></tr>")}$("#totalDiscount").after(s.join(""));$("#totalInvoice td:last").html(k(A));$("#totalPaid td:last").html(k(H));$("#totalBalance th:last").html(k(v))}function e(r){var t=0;for(var s=0;s<r.length;s++){t+=r[s]}return t}$("#new_client").append('<option value="-1">'+b.config.ui.newClient+"</option>");$("#new_client").change(function(){if(!$(this)[0].value){$("#show_client_address").empty();return}if($(this)[0].value==-1){if(confirm(b.config.ui.addClientConfirm)){a.location.href=a.location.protocol+"//"+a.location.host+b.root+"/clients/new"}return}var r=b.root+"/clients/view:js/"+$(this)[0].value;$.getJSON(r,function(s){$("#show_client_address").html([s.organization,s.contact_address,s.contact_addressMore,s.contact_city].join("<br />"))});$("#edit_client").attr("checked","")})},invoices_payment:{todo:function(){$(".payfull").click(function(){var e=$(this).parent().get(0);$(" .payment",e).val($(" ~ .paybalance",this).val());return false})}},clients_:{todo:function(){b.main.grid();function e(f){$(f).click(function(){$(this).parent().eq(0).each(function(){$(" ~ table",this).is(":hidden")?$(" ~ table",this).slideDown():$(" ~ table",this).slideUp()});$(this).toggleClass("switcher_close").toggleClass("switcher_open")})}$(".show_address").click(function(){$(this).parent().parent().parent().parent().parent().eq(0).each(function(){$(" table:last",this).is(":hidden")?$(" table:last",this).slideDown():$(" table:last",this).slideUp()});$(this).toggleClass("switcher_close").toggleClass("switcher_open")});$(".remove_this").click(function(){$(this).parent().parent().eq(0).each(function(){$(this).slideUp(function(){$(this).remove()})})});e(".show_username");$("#add_another_contact").click(function(){var g=$(".additional").size();var f=$("#additional_template").html();f=f.replace(/-NO-/g,g);$("#additionals").append(f);$("#additionals .additional:last").each(function(){var h=this;$(" .remove_this",this).click(function(){$(h).slideUp(function(){$(h).remove()})});$(" table:last",this).hide();e($(" .show_username",this));$(this).slideDown()})})}},invoices_:{js:["jquery.form.js"],todo:function(){b.main.grid();b.main.addinvoice();$("#submit_save_as_draft").click(function(){$("#pageAction").attr("value","draft");$(".grid").submit()});$("#submit_send_by_mail").click(function(){$("#pageAction").attr("value","sent");$(".grid").submit()})}},reports_:{todo:function(){$(".export").click(function(){var h={csv:"csv",excel:"xls",excel2007:"xlsx"};var e=$("form").attr("action");e=e.split("/");var g=$(this).html();g=g.toLowerCase();g=h[g];var f=e[2].split(":");e[2]=f[1]===d?e[2]+":"+g:f[0]+":"+g;e=e.join("/");$("form").attr("action",e).submit()});$("#view_report").click(function(){var e=$("form").attr("action");e=e.split("/");ext=e[2].split(":");if(ext[1]){e[2]=ext[0]}e=e.join("/");$("form").attr("action",e)})}},companies_:{js:["jquery.farbtastic.min.js"],css:["colorpicker.css"],todo:function(){if(!$(".colorpicker[name='color1']").attr("value")){$(".colorpicker[name='color1']").attr("value","#0075CE")}if(!$(".colorpicker[name='color2']").attr("value")){$(".colorpicker[name='color2']").attr("value","#509EDC")}if(!$(".colorpicker[name='color3']").attr("value")){$(".colorpicker[name='color3']").attr("value","#BFDCF3")}var e=$.farbtastic("#picker");var f;$(".colorpicker").each(function(){e.linkTo(this)}).focus(function(){if(f){$(f).css("opacity",0.75).removeClass("colorwell-selected")}e.linkTo(this);$(f=this).css("opacity",1).addClass("colorwell-selected")});$("#submit_save_logos").click(function(){$("#pageAction").attr("value","logos");$(".form").submit()});$("#submit_clear_logos").click(function(){$("#pageAction").attr("value","clear");$(".form").submit()})}},emails_:{todo:function(){b.main.grid()}},items_:{todo:function(){b.main.grid();$("#submit_item_another").click(function(){$("#pageAction").attr("value","another");$(".form").submit()})}},workflows_:{todo:function(){b.main.grid()}},recurrences_:{js:["jquery.form.js","jquery.formdefaults.js"],todo:function(){b.main.grid();b.main.addinvoice();$("#new_occurence").DefaultValue(b.config.ui.infinite);$("#submit_profile_preview").click(function(){$("#pageAction").attr("value","preview");$(".form").submit()});$("#submit_profile_save").click(function(){$("#pageAction").attr("value","save");$(".form").submit()});$("#submit_profile_stop").click(function(){$("#pageAction").attr("value","stop");$(".form").submit()});$("#submit_profile_restart").click(function(){$("#pageAction").attr("value","restart");$(".form").submit()})}},users_:{todo:function(){$(".switch_form").click(function(){$(".form_switch").toggleClass("hide")})}},index_:{todo:function(){$(".switch_form").click(function(){$(".form_switch").toggleClass("hide")})}},my_:{todo:function(){b.main.grid()}}}}})();

