upgraded to bootstrap 2.2
diff --git a/accounts/page/trial_balance/trial_balance.js b/accounts/page/trial_balance/trial_balance.js
index 87f94ca..3d05d49 100644
--- a/accounts/page/trial_balance/trial_balance.js
+++ b/accounts/page/trial_balance/trial_balance.js
@@ -27,7 +27,7 @@
 			var msgbox = msgprint('<p>Select To Download:</p>\
 				<p><input type="checkbox" name="with_groups" checked> Account Groups</p>\
 				<p><input type="checkbox" name="with_ledgers" checked> Account Ledgers</p>\
-				<p><button class="btn btn-info btn-small">Download</button>');
+				<p><button class="btn btn-info">Download</button>');
 
 			var me = this;
 
diff --git a/accounts/page/voucher_import_tool/voucher_import_tool.js b/accounts/page/voucher_import_tool/voucher_import_tool.js
index d937436..bf6b065 100644
--- a/accounts/page/voucher_import_tool/voucher_import_tool.js
+++ b/accounts/page/voucher_import_tool/voucher_import_tool.js
@@ -9,11 +9,11 @@
 		<p class="help">Import multiple accounting entries via CSV (spreadsheet) file:</p>\
 		<h3>1. Download Template</h3><br>\
 		<div style="padding-left: 30px;">\
-			<button class="btn btn-small btn-download-two-accounts">Download</button>\
+			<button class="btn btn-download-two-accounts">Download</button>\
 			<p class="help">Import multiple vouchers with one debit and one credit entry</p>\
 		</div>\
 		<div style="padding-left: 30px;">\
-			<button class="btn btn-small btn-download-multiple-accounts">Download</button>\
+			<button class="btn btn-download-multiple-accounts">Download</button>\
 			<p class="help">Import multiple vouchers with multiple accounts</p>\
 		</div>\
 		<hr>\
diff --git a/public/js/kb_common.js b/public/js/kb_common.js
index ae80acf..032d2db 100644
--- a/public/js/kb_common.js
+++ b/public/js/kb_common.js
@@ -95,7 +95,7 @@
 		<textarea class="ed-text-input %(inp_class)s hide"></textarea>\
 		<div class="help hide"><br>Formatted as <a href="#markdown-reference"\
 		 	target="_blank">markdown</a></div>\
-		<button class="btn btn-small btn-info hide ed-text-save">Save</button>\
+		<button class="btn btn-info hide ed-text-save">Save</button>\
 		<a class="ed-text-cancel hide" style="cursor: pointer;">Cancel</a>\
 	</div>', args)).appendTo(me.parent);
 	
diff --git a/utilities/page/messages/messages.js b/utilities/page/messages/messages.js
index 6ade603..1da5bf4 100644
--- a/utilities/page/messages/messages.js
+++ b/utilities/page/messages/messages.js
@@ -28,7 +28,7 @@
 	</div><hr>\
 	<div id="post-message">\
 	<textarea style="width: 100%; height: 24px;"></textarea>\
-	<div><button class="btn btn-small">Post</button></div><hr>\
+	<div><button class="btn">Post</button></div><hr>\
 	</div>\
 	<div class="all-messages"></div>').appendTo($(wrapper).find('.layout-main-section'));
 	
@@ -182,7 +182,7 @@
 				var $body = $(me.wrapper).find('.layout-side-section');
 				$('<h4>Users</h4><hr>\
 					<div id="show-everyone">\
-						<a href="#messages/'+user+'" class="btn btn-small">\
+						<a href="#messages/'+user+'" class="btn">\
 							Show messages from everyone</a><hr></div>\
 				').appendTo($body);
 				r.message.sort(function(a, b) { return b.has_session - a.has_session; });
diff --git a/website/helpers/product.py b/website/helpers/product.py
index 6bafc2b..fec4626 100644
--- a/website/helpers/product.py
+++ b/website/helpers/product.py
@@ -5,6 +5,25 @@
 import webnotes
 
 @webnotes.whitelist(allow_guest=True)
+def get_product_info(item_code):
+	"""get product price / stock info"""
+	price_list = webnotes.conn.get_value("Item", item_code, "website_price_list")
+	warehouse = webnotes.conn.get_value("Item", item_code, "website_warehouse")
+	if warehouse:
+		in_stock = webnotes.conn.sql("""select actual_qty from tabBin where
+			item_code=%s and warehouse=%s""", (item_code, warehouse))
+		if in_stock:
+			in_stock = in_stock[0][0] > 0 and 1 or 0
+	else:
+		in_stock = -1
+	return {
+		"price": price_list and webnotes.conn.sql("""select ref_rate, ref_currency from
+			`tabItem Price` where parent=%s and price_list_name=%s""", 
+			(item_code, price_list), as_dict=1) or [],
+		"stock": in_stock
+	}
+
+@webnotes.whitelist(allow_guest=True)
 def get_product_list(args=None):
 	"""
 		args = {
diff --git a/website/templates/css/product_page.css b/website/templates/css/product_page.css
index bf893ca..2b7c979 100644
--- a/website/templates/css/product_page.css
+++ b/website/templates/css/product_page.css
@@ -1,6 +1,9 @@
 	<style>
+		.product-page-content {
+			margin-left: -20px;
+		}
 		.item-main-image {
-			max-width: 60%;
+			max-width: 100%;
 		}
 		.web-long-description {
 			font-size: 18px;
diff --git a/website/templates/html/product_page.html b/website/templates/html/product_page.html
index 709c3ea..80108f1 100644
--- a/website/templates/html/product_page.html
+++ b/website/templates/html/product_page.html
@@ -20,9 +20,10 @@
 	<div class="layout-wrapper layout-wrapper-background">
 		<div class="web-content" id="content-product-{{ name }}">
 			<div class="layout-main" style="padding: 30px;">
+				{% include 'html/product_search.html' %}
 				<h1>{{ item_name }}</h1>
 				<div class="product-page-content">
-					<br><br>
+					<div class="span6">
 					{% if website_image %}
 					<image class="item-main-image" src="files/{{ website_image }}" />
 					{% else %}
@@ -30,23 +31,34 @@
 					<span style="font-size: 11px">This is an auto-generated Image</span>
 					{% endif %}
 					<br><br>
-					<h3>Product Description</h3>
-					<div>
-					{{ web_long_description or web_short_description }}
 					</div>
-					<hr>
-					{% if obj.doclist.get({"doctype":"Item Website Specification"}) %}
-						<h3>Specifications</h3>
-						<table class="table table-striped table-bordered" style="width: 80%">
-						{% for d in obj.doclist.get(
-							{"doctype":"Item Website Specification"}) %}
-							<tr>
-								<td>{{ d.label }}</td>
-								<td>{{ d.description }}</td>
-							</tr>
-						{% endfor %}
-						</table>
-					{% endif %}
+					<div class="span3">
+						<div class="item-price hide">
+							<p>Price:</p>
+						</div>
+						<div class="item-stock"></div>
+					</div>
+					<div class="clearfix"></div>
+					<div class="span9">
+						<h3>Product Description</h3>
+						<div>
+						{{ web_long_description or web_short_description }}
+						</div>
+						<hr>
+						{% if obj.doclist.get({"doctype":"Item Website Specification"}) %}
+							<h3>Specifications</h3>
+							<table class="table table-striped table-bordered" style="width: 100%">
+							{% for d in obj.doclist.get(
+								{"doctype":"Item Website Specification"}) %}
+								<tr>
+									<td>{{ d.label }}</td>
+									<td>{{ d.description }}</td>
+								</tr>
+							{% endfor %}
+							</table>
+						{% endif %}
+					</div>
+					<div class="clearfix"></div>
 				</div>
 			</div>
 		</div>
diff --git a/website/templates/html/product_search.html b/website/templates/html/product_search.html
new file mode 100644
index 0000000..034ec11
--- /dev/null
+++ b/website/templates/html/product_search.html
@@ -0,0 +1,9 @@
+<div class="pull-right">
+	<form class="form-search">
+		<div class="input-append">
+			<input type="text" class="span2 search-query" id="product-search">
+			<button class="btn"><i class="icon-search"></i></button>
+		</div>
+	</form>
+</div>
+<div class="clearfix"></div>
\ No newline at end of file
diff --git a/website/templates/js/product_page.js b/website/templates/js/product_page.js
index f462033..653cfa3 100644
--- a/website/templates/js/product_page.js
+++ b/website/templates/js/product_page.js
@@ -14,79 +14,30 @@
 // You should have received a copy of the GNU General Public License
 // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-{% include "js/product_category.js" %}
-
-wn.pages['{{ name }}'].onload = function(wrapper) {
-	wrapper.product_group = "{{ item_group }}";
-	wrapper.product_name = "{{ name }}";
-	erpnext.products.make_product_categories(wrapper);
-	erpnext.products.make_similar_products(wrapper);
-
-	// if website image missing, autogenerate one
-	var $img = $(wrapper).find('.product-page-content .img-area');
-	if ($img && $img.length > 0) {
-		$img.append(wn.dom.placeholder(160, "{{ item_name }}"));
-	}
-	
-	erpnext.products.adjust_page_height(wrapper);
-	
-}
-
-erpnext.products.adjust_page_height = function(wrapper) {
-	if (!wrapper) { wrapper = erpnext.products.wrapper; }
-	if (!wrapper) { return; }
-
-	// adjust page height based on sidebar height
-	var $main_page = $(wrapper).find('.layout-main-section');
-	var $sidebar = $(wrapper).find('.layout-side-section');
-	if ($sidebar.height() > $main_page.height()) {
-		$main_page.height($sidebar.height());
-	}
-}
-
-erpnext.products.make_similar_products = function(wrapper) {
-	if (!wrapper) { wrapper = erpnext.products.wrapper; }
-	if (!wrapper) { return; }
-	
-	// similar products
-	wrapper.similar = new wn.ui.Listing({
-		parent: $(wrapper).find('.similar-products').get(0),
-		hide_refresh: true,
-		page_length: 5,
-		method: 'website.helpers.product.get_similar_product_list',
-		get_args: function() {
-			return {
-				product_group: wrapper.product_group,
-				product_name: wrapper.product_name
-			}
+$(document).ready(function() {
+	$.ajax({
+		method: "GET",
+		url:"server.py",
+		dataType: "json",
+		data: {
+			cmd: "website.helpers.product.get_product_info",
+			item_code: "{{ name }}"
 		},
-		render_row: function(parent, data) {
-			if (!data.web_short_description) {
-				data.web_short_description = data.description;
+		success: function(data) {
+			if(data.message) {
+				if(data.message.price) {
+					$("<h4>").html(data.message.price[0].ref_currency + " " 
+						+ data.message.price[0].ref_rate).appendTo(".item-price");
+					$(".item-price").toggle(true);
+				}
+				if(data.message.stock==0) {
+					$(".item-stock").html("<div class='help'>Not in stock</div>")
+				}
+				else if(data.message.stock==1) {
+					$(".item-stock").html("<div style='color: green'>\
+						<i class='icon-check'></i> Available (in stock)</div>")
+				}
 			}
-			if(data.web_short_description.length > 100) {
-				data.web_short_description = 
-					data.web_short_description.substr(0,100) + '...';
-			}
-			parent.innerHTML = repl('\
-				<a href="%(page_name)s.html"><div class="img-area"></div></a>\
-				<div class="similar-product-description">\
-					<h5><a href="%(page_name)s.html">%(item_name)s</a></h5>\
-					<span>%(web_short_description)s</span>\
-				</div>\
-				<div style="clear:both"></div>', data);
-				
-			if(data.website_image) {
-				$(parent).find('.img-area').append(repl(
-					'<img src="files/%(website_image)s" />', data))
-			} else {
-				$(parent).find('.img-area').append(wn.dom.placeholder(55, 
-					data.item_name));
-			}
-			
-			// adjust page height, if sidebar height keeps increasing
-			erpnext.products.adjust_page_height(wrapper);
 		}
-	});
-	wrapper.similar.run();
-}
\ No newline at end of file
+	})
+})
\ No newline at end of file