general_ledger: show against account, set title, and show is_opening as opening
diff --git a/accounts/page/accounts_browser/accounts_browser.js b/accounts/page/accounts_browser/accounts_browser.js
index e5a30b0..fb011ca 100644
--- a/accounts/page/accounts_browser/accounts_browser.js
+++ b/accounts/page/accounts_browser/accounts_browser.js
@@ -135,8 +135,7 @@
 	show_ledger: function() {
 		var me = this;
 		var node = me.selected_node();
-		wn.set_route('Report', 'GL Entry', 'General Ledger', 
-			this.ctype + '=' + node.data('label'));
+		wn.set_route("general-ledger", "account=" + node.data('label'));
 	},
 	new_node: function() {
 		if(this.ctype=='Account') {
diff --git a/accounts/page/general_ledger/general_ledger.js b/accounts/page/general_ledger/general_ledger.js
index 8e70619..ecc8626 100644
--- a/accounts/page/general_ledger/general_ledger.js
+++ b/accounts/page/general_ledger/general_ledger.js
@@ -45,6 +45,9 @@
 					open_btn: true,
 					doctype: "'Account'"
 				}},
+			{id: "against_accont", name: "Against Account", field: "against_account", 
+				width: 240, hidden: this.is_default("account")},
+
 			{id: "debit", name: "Debit", field: "debit", width: 100,
 				formatter: this.currency_formatter},
 			{id: "credit", name: "Credit", field: "credit", width: 100,
@@ -139,9 +142,11 @@
 		var data = wn.report_dump.data["GL Entry"];
 		var out = [];
 		
-		if(!this.account_by_name)
+		if(!this.account_by_name) {
 			this.account_by_name = this.make_name_map(wn.report_dump.data["Account"]);
-			
+			this.make_voucher_acconuts_map();
+		}
+		
 		var me = this;
 		
 		var from_date = dateutil.str_to_obj(this.from_date);
@@ -167,7 +172,7 @@
 				: true) && (me.voucher_no ? item.voucher_no==me.voucher_no : true)) {
 				var date = dateutil.str_to_obj(item.posting_date);
 				
-				if(date < from_date) {
+				if(date < from_date || item.is_opening=="Yes") {
 					opening.debit += item.debit;
 					opening.credit += item.credit;
 				} else if(date <= to_date) {
@@ -175,7 +180,12 @@
 					totals.credit += item.credit;
 				}
 
-				if(me.apply_filters(item)) {
+				if(me.account) {
+					item.against_account = me.voucher_accounts[item.voucher_type + ":"
+						+ item.voucher_no][(item.debit > 0 ? "credits" : "debits")].join(", ");					
+				}
+
+				if(me.apply_filters(item) && item.is_opening=="No") {
 					out.push(item);
 				}
 			}
@@ -189,6 +199,8 @@
 							
 		
 		if(!me.is_default("account")) {
+			me.appframe.set_title("General Ledger: " + me.account);
+			
 			if(me.account_by_name[me.account].debit_or_credit == "Debit") {
 				opening.debit -= opening.credit; opening.credit = 0;
 				closing.debit -= closing.credit; closing.credit = 0;
@@ -198,11 +210,34 @@
 			}
 			var out = [opening].concat(out).concat([totals, closing]);
 		} else {
+			me.appframe.set_title("General Ledger");
 			var out = out.concat([totals]);
 		}
 					
 		this.data = out;
 	},
+	
+	make_voucher_acconuts_map: function() {
+		this.voucher_accounts = {};
+		var data = wn.report_dump.data["GL Entry"];
+		for(var i=0, j=data.length; i<j; i++) {
+			var gl = data[i];
+			
+			if(!this.voucher_accounts[gl.voucher_type + ":" + gl.voucher_no])
+				this.voucher_accounts[gl.voucher_type + ":" + gl.voucher_no] = {
+					debits: [],
+					credits: []
+				}
+				
+			var va = this.voucher_accounts[gl.voucher_type + ":" + gl.voucher_no];
+			if(gl.debit > 0) {
+				va.debits.push(gl.account);
+			} else {
+				va.credits.push(gl.account);
+			}
+		}
+	},
+	
 	get_plot_data: function() {
 		var data = [];
 		var me = this;
diff --git a/public/js/toolbar.js b/public/js/toolbar.js
index 6b2ef9a..17f79dc 100644
--- a/public/js/toolbar.js
+++ b/public/js/toolbar.js
@@ -87,11 +87,9 @@
 
 erpnext.toolbar.set_new_comments = function(new_comments) {
 	var navbar_nc = $('.navbar-new-comments');
-	if(wn.container.page && wn.container.page.page_name=="messages") 
-		return;
-	if(new_comments) {
-		navbar_nc.text(new_comments);
+	if(cint(new_comments)) {
 		navbar_nc.addClass('navbar-new-comments-true')
+		navbar_nc.text(new_comments);
 	} else {
 		navbar_nc.removeClass('navbar-new-comments-true');
 		navbar_nc.text(0);