Merge branch 'shf_rename' of github.com:webnotes/erpnext into shf_rename
diff --git a/css/all-app.css b/css/all-app.css
index 41feae8..0e432d4 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -1241,384 +1241,588 @@
 /*
  *	lib/css/bootstrap/icons.css
  */
-[class^="icon-"], [class*=" icon-"] {
+[class^="icon-"],
+[class*=" icon-"] {
   display: inline-block;
-  width: 14px;
+  width: 15px;
   height: 14px;
+  *margin-right: .3em;
   line-height: 14px;
   vertical-align: text-top;
   background-image: url("../lib/images/icons/glyphicons-halflings.png");
   background-position: 14px 14px;
   background-repeat: no-repeat;
-  *margin-right: .3em;
 }
-[class^="icon-"]:last-child, [class*=" icon-"]:last-child {
+
+[class^="icon-"]:last-child,
+[class*=" icon-"]:last-child {
   *margin-left: 0;
 }
+
 .icon-white {
-  background-image: url("../lib/images/icons/glyphicons-halflings-white.png");
+  background-image: url("./lib/images/icons/glyphicons-halflings-white.png");
 }
+
 .icon-glass {
   background-position: 0      0;
 }
+
 .icon-music {
   background-position: -24px 0;
 }
+
 .icon-search {
   background-position: -48px 0;
 }
+
 .icon-envelope {
   background-position: -72px 0;
 }
+
 .icon-heart {
   background-position: -96px 0;
 }
+
 .icon-star {
   background-position: -120px 0;
 }
+
 .icon-star-empty {
   background-position: -144px 0;
 }
+
 .icon-user {
   background-position: -168px 0;
 }
+
 .icon-film {
   background-position: -192px 0;
 }
+
 .icon-th-large {
   background-position: -216px 0;
 }
+
 .icon-th {
   background-position: -240px 0;
 }
+
 .icon-th-list {
   background-position: -264px 0;
 }
+
 .icon-ok {
   background-position: -288px 0;
 }
+
 .icon-remove {
   background-position: -312px 0;
 }
+
 .icon-zoom-in {
   background-position: -336px 0;
 }
+
 .icon-zoom-out {
   background-position: -360px 0;
 }
+
 .icon-off {
   background-position: -384px 0;
 }
+
 .icon-signal {
   background-position: -408px 0;
 }
+
 .icon-cog {
   background-position: -432px 0;
 }
+
 .icon-trash {
   background-position: -456px 0;
 }
+
 .icon-home {
   background-position: 0 -24px;
 }
+
 .icon-file {
   background-position: -24px -24px;
 }
+
 .icon-time {
   background-position: -48px -24px;
 }
+
 .icon-road {
   background-position: -72px -24px;
 }
+
 .icon-download-alt {
   background-position: -96px -24px;
 }
+
 .icon-download {
   background-position: -120px -24px;
 }
+
 .icon-upload {
   background-position: -144px -24px;
 }
+
 .icon-inbox {
   background-position: -168px -24px;
 }
+
 .icon-play-circle {
   background-position: -192px -24px;
 }
+
 .icon-repeat {
   background-position: -216px -24px;
 }
+
 .icon-refresh {
   background-position: -240px -24px;
 }
+
 .icon-list-alt {
   background-position: -264px -24px;
 }
+
 .icon-lock {
   background-position: -287px -24px;
 }
+
 .icon-flag {
   background-position: -312px -24px;
 }
+
 .icon-headphones {
   background-position: -336px -24px;
 }
+
 .icon-volume-off {
   background-position: -360px -24px;
 }
+
 .icon-volume-down {
   background-position: -384px -24px;
 }
+
 .icon-volume-up {
   background-position: -408px -24px;
 }
+
 .icon-qrcode {
   background-position: -432px -24px;
 }
+
 .icon-barcode {
   background-position: -456px -24px;
 }
+
 .icon-tag {
   background-position: 0 -48px;
 }
+
 .icon-tags {
   background-position: -25px -48px;
 }
+
 .icon-book {
   background-position: -48px -48px;
 }
+
 .icon-bookmark {
   background-position: -72px -48px;
 }
+
 .icon-print {
   background-position: -96px -48px;
 }
+
 .icon-camera {
   background-position: -120px -48px;
 }
+
 .icon-font {
   background-position: -144px -48px;
 }
+
 .icon-bold {
   background-position: -167px -48px;
 }
+
 .icon-italic {
   background-position: -192px -48px;
 }
+
 .icon-text-height {
   background-position: -216px -48px;
 }
+
 .icon-text-width {
   background-position: -240px -48px;
 }
+
 .icon-align-left {
   background-position: -264px -48px;
 }
+
 .icon-align-center {
   background-position: -288px -48px;
 }
+
 .icon-align-right {
   background-position: -312px -48px;
 }
+
 .icon-align-justify {
   background-position: -336px -48px;
 }
+
 .icon-list {
   background-position: -360px -48px;
 }
+
 .icon-indent-left {
   background-position: -384px -48px;
 }
+
 .icon-indent-right {
   background-position: -408px -48px;
 }
+
 .icon-facetime-video {
   background-position: -432px -48px;
 }
+
 .icon-picture {
   background-position: -456px -48px;
 }
+
 .icon-pencil {
   background-position: 0 -72px;
 }
+
 .icon-map-marker {
   background-position: -24px -72px;
 }
+
 .icon-adjust {
   background-position: -48px -72px;
 }
+
 .icon-tint {
   background-position: -72px -72px;
 }
+
 .icon-edit {
   background-position: -96px -72px;
 }
+
 .icon-share {
   background-position: -120px -72px;
 }
+
 .icon-check {
   background-position: -144px -72px;
 }
+
 .icon-move {
   background-position: -168px -72px;
 }
+
 .icon-step-backward {
   background-position: -192px -72px;
 }
+
 .icon-fast-backward {
   background-position: -216px -72px;
 }
+
 .icon-backward {
   background-position: -240px -72px;
 }
+
 .icon-play {
   background-position: -264px -72px;
 }
+
 .icon-pause {
   background-position: -288px -72px;
 }
+
 .icon-stop {
   background-position: -312px -72px;
 }
+
 .icon-forward {
   background-position: -336px -72px;
 }
+
 .icon-fast-forward {
   background-position: -360px -72px;
 }
+
 .icon-step-forward {
   background-position: -384px -72px;
 }
+
 .icon-eject {
   background-position: -408px -72px;
 }
+
 .icon-chevron-left {
   background-position: -432px -72px;
 }
+
 .icon-chevron-right {
   background-position: -456px -72px;
 }
+
 .icon-plus-sign {
   background-position: 0 -96px;
 }
+
 .icon-minus-sign {
   background-position: -24px -96px;
 }
+
 .icon-remove-sign {
   background-position: -48px -96px;
 }
+
 .icon-ok-sign {
   background-position: -72px -96px;
 }
+
 .icon-question-sign {
   background-position: -96px -96px;
 }
+
 .icon-info-sign {
   background-position: -120px -96px;
 }
+
 .icon-screenshot {
   background-position: -144px -96px;
 }
+
 .icon-remove-circle {
   background-position: -168px -96px;
 }
+
 .icon-ok-circle {
   background-position: -192px -96px;
 }
+
 .icon-ban-circle {
   background-position: -216px -96px;
 }
+
 .icon-arrow-left {
   background-position: -240px -96px;
 }
+
 .icon-arrow-right {
   background-position: -264px -96px;
 }
+
 .icon-arrow-up {
   background-position: -289px -96px;
 }
+
 .icon-arrow-down {
   background-position: -312px -96px;
 }
+
 .icon-share-alt {
   background-position: -336px -96px;
 }
+
 .icon-resize-full {
   background-position: -360px -96px;
 }
+
 .icon-resize-small {
   background-position: -384px -96px;
 }
+
 .icon-plus {
   background-position: -408px -96px;
 }
+
 .icon-minus {
   background-position: -433px -96px;
 }
+
 .icon-asterisk {
   background-position: -456px -96px;
 }
+
 .icon-exclamation-sign {
   background-position: 0 -120px;
 }
+
 .icon-gift {
   background-position: -24px -120px;
 }
+
 .icon-leaf {
   background-position: -48px -120px;
 }
+
 .icon-fire {
   background-position: -72px -120px;
 }
+
 .icon-eye-open {
   background-position: -96px -120px;
 }
+
 .icon-eye-close {
   background-position: -120px -120px;
 }
+
 .icon-warning-sign {
   background-position: -144px -120px;
 }
+
 .icon-plane {
   background-position: -168px -120px;
 }
+
 .icon-calendar {
   background-position: -192px -120px;
 }
+
 .icon-random {
   background-position: -216px -120px;
 }
+
 .icon-comment {
   background-position: -240px -120px;
 }
+
 .icon-magnet {
   background-position: -264px -120px;
 }
+
 .icon-chevron-up {
   background-position: -288px -120px;
 }
+
 .icon-chevron-down {
   background-position: -313px -119px;
 }
+
 .icon-retweet {
   background-position: -336px -120px;
 }
+
 .icon-shopping-cart {
   background-position: -360px -120px;
 }
+
 .icon-folder-close {
   background-position: -384px -120px;
 }
+
 .icon-folder-open {
   background-position: -408px -120px;
 }
+
 .icon-resize-vertical {
   background-position: -432px -119px;
 }
+
 .icon-resize-horizontal {
   background-position: -456px -118px;
 }
 
+.icon-hdd {
+  background-position: 0 -144px;
+}
+
+.icon-bullhorn {
+  background-position: -24px -144px;
+}
+
+.icon-bell {
+  background-position: -48px -144px;
+}
+
+.icon-certificate {
+  background-position: -72px -144px;
+}
+
+.icon-thumbs-up {
+  background-position: -96px -144px;
+}
+
+.icon-thumbs-down {
+  background-position: -120px -144px;
+}
+
+.icon-hand-right {
+  background-position: -144px -144px;
+}
+
+.icon-hand-left {
+  background-position: -168px -144px;
+}
+
+.icon-hand-up {
+  background-position: -192px -144px;
+}
+
+.icon-hand-down {
+  background-position: -216px -144px;
+}
+
+.icon-circle-arrow-right {
+  background-position: -240px -144px;
+}
+
+.icon-circle-arrow-left {
+  background-position: -264px -144px;
+}
+
+.icon-circle-arrow-up {
+  background-position: -288px -144px;
+}
+
+.icon-circle-arrow-down {
+  background-position: -312px -144px;
+}
+
+.icon-globe {
+  background-position: -336px -144px;
+}
+
+.icon-wrench {
+  background-position: -360px -144px;
+}
+
+.icon-tasks {
+  background-position: -384px -144px;
+}
+
+.icon-filter {
+  background-position: -408px -144px;
+}
+
+.icon-briefcase {
+  background-position: -432px -144px;
+}
+
+.icon-fullscreen {
+  background-position: -456px -144px;
+}
+
 /*
  *	lib/css/bootstrap/popover.css
  */
diff --git a/css/all-web.css b/css/all-web.css
index c3139d4..9fbfd3a 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -1198,384 +1198,588 @@
 /*
  *	lib/css/bootstrap/icons.css
  */
-[class^="icon-"], [class*=" icon-"] {
+[class^="icon-"],
+[class*=" icon-"] {
   display: inline-block;
-  width: 14px;
+  width: 15px;
   height: 14px;
+  *margin-right: .3em;
   line-height: 14px;
   vertical-align: text-top;
   background-image: url("../lib/images/icons/glyphicons-halflings.png");
   background-position: 14px 14px;
   background-repeat: no-repeat;
-  *margin-right: .3em;
 }
-[class^="icon-"]:last-child, [class*=" icon-"]:last-child {
+
+[class^="icon-"]:last-child,
+[class*=" icon-"]:last-child {
   *margin-left: 0;
 }
+
 .icon-white {
-  background-image: url("../lib/images/icons/glyphicons-halflings-white.png");
+  background-image: url("./lib/images/icons/glyphicons-halflings-white.png");
 }
+
 .icon-glass {
   background-position: 0      0;
 }
+
 .icon-music {
   background-position: -24px 0;
 }
+
 .icon-search {
   background-position: -48px 0;
 }
+
 .icon-envelope {
   background-position: -72px 0;
 }
+
 .icon-heart {
   background-position: -96px 0;
 }
+
 .icon-star {
   background-position: -120px 0;
 }
+
 .icon-star-empty {
   background-position: -144px 0;
 }
+
 .icon-user {
   background-position: -168px 0;
 }
+
 .icon-film {
   background-position: -192px 0;
 }
+
 .icon-th-large {
   background-position: -216px 0;
 }
+
 .icon-th {
   background-position: -240px 0;
 }
+
 .icon-th-list {
   background-position: -264px 0;
 }
+
 .icon-ok {
   background-position: -288px 0;
 }
+
 .icon-remove {
   background-position: -312px 0;
 }
+
 .icon-zoom-in {
   background-position: -336px 0;
 }
+
 .icon-zoom-out {
   background-position: -360px 0;
 }
+
 .icon-off {
   background-position: -384px 0;
 }
+
 .icon-signal {
   background-position: -408px 0;
 }
+
 .icon-cog {
   background-position: -432px 0;
 }
+
 .icon-trash {
   background-position: -456px 0;
 }
+
 .icon-home {
   background-position: 0 -24px;
 }
+
 .icon-file {
   background-position: -24px -24px;
 }
+
 .icon-time {
   background-position: -48px -24px;
 }
+
 .icon-road {
   background-position: -72px -24px;
 }
+
 .icon-download-alt {
   background-position: -96px -24px;
 }
+
 .icon-download {
   background-position: -120px -24px;
 }
+
 .icon-upload {
   background-position: -144px -24px;
 }
+
 .icon-inbox {
   background-position: -168px -24px;
 }
+
 .icon-play-circle {
   background-position: -192px -24px;
 }
+
 .icon-repeat {
   background-position: -216px -24px;
 }
+
 .icon-refresh {
   background-position: -240px -24px;
 }
+
 .icon-list-alt {
   background-position: -264px -24px;
 }
+
 .icon-lock {
   background-position: -287px -24px;
 }
+
 .icon-flag {
   background-position: -312px -24px;
 }
+
 .icon-headphones {
   background-position: -336px -24px;
 }
+
 .icon-volume-off {
   background-position: -360px -24px;
 }
+
 .icon-volume-down {
   background-position: -384px -24px;
 }
+
 .icon-volume-up {
   background-position: -408px -24px;
 }
+
 .icon-qrcode {
   background-position: -432px -24px;
 }
+
 .icon-barcode {
   background-position: -456px -24px;
 }
+
 .icon-tag {
   background-position: 0 -48px;
 }
+
 .icon-tags {
   background-position: -25px -48px;
 }
+
 .icon-book {
   background-position: -48px -48px;
 }
+
 .icon-bookmark {
   background-position: -72px -48px;
 }
+
 .icon-print {
   background-position: -96px -48px;
 }
+
 .icon-camera {
   background-position: -120px -48px;
 }
+
 .icon-font {
   background-position: -144px -48px;
 }
+
 .icon-bold {
   background-position: -167px -48px;
 }
+
 .icon-italic {
   background-position: -192px -48px;
 }
+
 .icon-text-height {
   background-position: -216px -48px;
 }
+
 .icon-text-width {
   background-position: -240px -48px;
 }
+
 .icon-align-left {
   background-position: -264px -48px;
 }
+
 .icon-align-center {
   background-position: -288px -48px;
 }
+
 .icon-align-right {
   background-position: -312px -48px;
 }
+
 .icon-align-justify {
   background-position: -336px -48px;
 }
+
 .icon-list {
   background-position: -360px -48px;
 }
+
 .icon-indent-left {
   background-position: -384px -48px;
 }
+
 .icon-indent-right {
   background-position: -408px -48px;
 }
+
 .icon-facetime-video {
   background-position: -432px -48px;
 }
+
 .icon-picture {
   background-position: -456px -48px;
 }
+
 .icon-pencil {
   background-position: 0 -72px;
 }
+
 .icon-map-marker {
   background-position: -24px -72px;
 }
+
 .icon-adjust {
   background-position: -48px -72px;
 }
+
 .icon-tint {
   background-position: -72px -72px;
 }
+
 .icon-edit {
   background-position: -96px -72px;
 }
+
 .icon-share {
   background-position: -120px -72px;
 }
+
 .icon-check {
   background-position: -144px -72px;
 }
+
 .icon-move {
   background-position: -168px -72px;
 }
+
 .icon-step-backward {
   background-position: -192px -72px;
 }
+
 .icon-fast-backward {
   background-position: -216px -72px;
 }
+
 .icon-backward {
   background-position: -240px -72px;
 }
+
 .icon-play {
   background-position: -264px -72px;
 }
+
 .icon-pause {
   background-position: -288px -72px;
 }
+
 .icon-stop {
   background-position: -312px -72px;
 }
+
 .icon-forward {
   background-position: -336px -72px;
 }
+
 .icon-fast-forward {
   background-position: -360px -72px;
 }
+
 .icon-step-forward {
   background-position: -384px -72px;
 }
+
 .icon-eject {
   background-position: -408px -72px;
 }
+
 .icon-chevron-left {
   background-position: -432px -72px;
 }
+
 .icon-chevron-right {
   background-position: -456px -72px;
 }
+
 .icon-plus-sign {
   background-position: 0 -96px;
 }
+
 .icon-minus-sign {
   background-position: -24px -96px;
 }
+
 .icon-remove-sign {
   background-position: -48px -96px;
 }
+
 .icon-ok-sign {
   background-position: -72px -96px;
 }
+
 .icon-question-sign {
   background-position: -96px -96px;
 }
+
 .icon-info-sign {
   background-position: -120px -96px;
 }
+
 .icon-screenshot {
   background-position: -144px -96px;
 }
+
 .icon-remove-circle {
   background-position: -168px -96px;
 }
+
 .icon-ok-circle {
   background-position: -192px -96px;
 }
+
 .icon-ban-circle {
   background-position: -216px -96px;
 }
+
 .icon-arrow-left {
   background-position: -240px -96px;
 }
+
 .icon-arrow-right {
   background-position: -264px -96px;
 }
+
 .icon-arrow-up {
   background-position: -289px -96px;
 }
+
 .icon-arrow-down {
   background-position: -312px -96px;
 }
+
 .icon-share-alt {
   background-position: -336px -96px;
 }
+
 .icon-resize-full {
   background-position: -360px -96px;
 }
+
 .icon-resize-small {
   background-position: -384px -96px;
 }
+
 .icon-plus {
   background-position: -408px -96px;
 }
+
 .icon-minus {
   background-position: -433px -96px;
 }
+
 .icon-asterisk {
   background-position: -456px -96px;
 }
+
 .icon-exclamation-sign {
   background-position: 0 -120px;
 }
+
 .icon-gift {
   background-position: -24px -120px;
 }
+
 .icon-leaf {
   background-position: -48px -120px;
 }
+
 .icon-fire {
   background-position: -72px -120px;
 }
+
 .icon-eye-open {
   background-position: -96px -120px;
 }
+
 .icon-eye-close {
   background-position: -120px -120px;
 }
+
 .icon-warning-sign {
   background-position: -144px -120px;
 }
+
 .icon-plane {
   background-position: -168px -120px;
 }
+
 .icon-calendar {
   background-position: -192px -120px;
 }
+
 .icon-random {
   background-position: -216px -120px;
 }
+
 .icon-comment {
   background-position: -240px -120px;
 }
+
 .icon-magnet {
   background-position: -264px -120px;
 }
+
 .icon-chevron-up {
   background-position: -288px -120px;
 }
+
 .icon-chevron-down {
   background-position: -313px -119px;
 }
+
 .icon-retweet {
   background-position: -336px -120px;
 }
+
 .icon-shopping-cart {
   background-position: -360px -120px;
 }
+
 .icon-folder-close {
   background-position: -384px -120px;
 }
+
 .icon-folder-open {
   background-position: -408px -120px;
 }
+
 .icon-resize-vertical {
   background-position: -432px -119px;
 }
+
 .icon-resize-horizontal {
   background-position: -456px -118px;
 }
 
+.icon-hdd {
+  background-position: 0 -144px;
+}
+
+.icon-bullhorn {
+  background-position: -24px -144px;
+}
+
+.icon-bell {
+  background-position: -48px -144px;
+}
+
+.icon-certificate {
+  background-position: -72px -144px;
+}
+
+.icon-thumbs-up {
+  background-position: -96px -144px;
+}
+
+.icon-thumbs-down {
+  background-position: -120px -144px;
+}
+
+.icon-hand-right {
+  background-position: -144px -144px;
+}
+
+.icon-hand-left {
+  background-position: -168px -144px;
+}
+
+.icon-hand-up {
+  background-position: -192px -144px;
+}
+
+.icon-hand-down {
+  background-position: -216px -144px;
+}
+
+.icon-circle-arrow-right {
+  background-position: -240px -144px;
+}
+
+.icon-circle-arrow-left {
+  background-position: -264px -144px;
+}
+
+.icon-circle-arrow-up {
+  background-position: -288px -144px;
+}
+
+.icon-circle-arrow-down {
+  background-position: -312px -144px;
+}
+
+.icon-globe {
+  background-position: -336px -144px;
+}
+
+.icon-wrench {
+  background-position: -360px -144px;
+}
+
+.icon-tasks {
+  background-position: -384px -144px;
+}
+
+.icon-filter {
+  background-position: -408px -144px;
+}
+
+.icon-briefcase {
+  background-position: -432px -144px;
+}
+
+.icon-fullscreen {
+  background-position: -456px -144px;
+}
+
 /*
  *	lib/css/legacy/body.css
  */
diff --git a/erpnext/patches/april_2012/delete_about_contact.py b/erpnext/patches/april_2012/delete_about_contact.py
new file mode 100644
index 0000000..e7173d9
--- /dev/null
+++ b/erpnext/patches/april_2012/delete_about_contact.py
@@ -0,0 +1,6 @@
+def execute():
+	import webnotes
+	from webnotes.model import delete_doc
+	delete_doc('DocType', 'About Us Team')
+	delete_doc('DocType', 'About Us Settings')
+	delete_doc('DocType', 'Contact Us Settings')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/setup_control/setup_control.py b/erpnext/setup/doctype/setup_control/setup_control.py
index 3ec7b84..d5832c4 100644
--- a/erpnext/setup/doctype/setup_control/setup_control.py
+++ b/erpnext/setup/doctype/setup_control/setup_control.py
@@ -30,6 +30,7 @@
 	def setup_account(self, args):
 		import webnotes, json
 		args = json.loads(args)
+		webnotes.conn.begin()
 
 		curr_fiscal_year, fy_start_date, fy_abbr = self.get_fy_details(args.get('fy_start'))
 		#webnotes.msgprint(self.get_fy_details(args.get('fy_start')))
@@ -90,6 +91,7 @@
 		import webnotes.utils
 		user_fullname = (args.get('first_name') or '') + (args.get('last_name')
 				and (" " + args.get('last_name')) or '')
+		webnotes.conn.commit()
 		return {'sys_defaults': webnotes.utils.get_defaults(), 'user_fullname': user_fullname}
 
 	def create_feed_and_todo(self):
diff --git a/erpnext/setup/page/import_data/import_data.html b/erpnext/setup/page/import_data/import_data.html
index 29f0cc3..b655442 100644
--- a/erpnext/setup/page/import_data/import_data.html
+++ b/erpnext/setup/page/import_data/import_data.html
@@ -10,7 +10,7 @@
 <h3 style="background-color: #EEF; padding: 2px;">Step 1. Download Template</h3>
 <select id="import_template" style="margin: 10px;"> <option>Select Master...</option> </select>
 
-<div style="margin: 10px; margin-top: 0px;"><input name="overwrite" type="checkbox"/> Do you want to over-write records? <br><span style='color:orange'>Warning: Over-writing the data of child tables, will delete all old data. For more info see below</span></div>
+<div style="margin: 10px; margin-top: 0px;"><input name="overwrite" type="checkbox"/> Do you want to over-write records? <br><span style='color:orange'>Warning: Over-writing the data of child tables, will delete all old entries from child tables. For more info see below</span></div>
 <div id="child_tab_lst"></div>
 <h3 style="background-color: #EEF; padding: 2px;">Step 2. Upload and Import</h3>
 <table style="width: 480px;" border="0" cellspacing="10px">
@@ -46,7 +46,7 @@
 	<ol>
 		<li>To over-write data, click on "Do you want to over-write records?" and then download template</li>
 		<li>To over-write parent table data, mention existing ID in "Name" column</li>
-		<li>Over-writing of child table data will delete all previous data of child table and re-import. so before over-writing child tables, export all data from system, modify them and then re-import</li>
+		<li>Over-writing of child table data will delete all previous data from child table of those parents which you are importing. So before over-writing child tables, take a backup of the child table data by exporting from report builder. Re-import all rows of the child table for a particular parent.<br>For example: If you want to overwrite tax rate for tax account "VAT" ifor item: ITEM001 and suppose there are 3 rows in "Item Tax" table for item : ITEM001. While overwriting the system will delete all 3 rows. So, you have to re-import all 3 rows for that item.</li>
 		<li>Over-write checkbox will be checked while importing</li>
 	</ol>
 	<br />
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index fc0e118..37ffe9b 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -66,11 +66,8 @@
 		bootinfo['website_menus'] = webnotes.conn.sql("""select label, url, custom_page, 
 			parent_label, parentfield
 			from `tabTop Bar Item` where parent='Website Settings' order by idx asc""", as_dict=1)
-		bootinfo['analytics_code'] = \
-			webnotes.conn.get_value('Website Settings', None, 'analytics_code')
-		bootinfo['analytics_call'] = \
-			webnotes.conn.get_value('Website Settings', None, 'analytics_call')
-		
+		bootinfo['startup_code'] = \
+			webnotes.conn.get_value('Website Settings', None, 'startup_code')		
 	else:	
 		bootinfo['letter_heads'] = get_letter_heads()
 
@@ -131,4 +128,4 @@
 			we will guide him to get your account re-activated.""" % formatdate(conf.expires_on)
 	
 	webnotes.response['message'] = 'Account Expired'
-	raise webnotes.AuthenticationError
\ No newline at end of file
+	raise webnotes.AuthenticationError
diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js
index 5ad070d..86ef9bd 100644
--- a/erpnext/startup/startup.js
+++ b/erpnext/startup/startup.js
@@ -65,6 +65,9 @@
 		if(wn.boot.website_settings.title_prefix) {
 			wn.title_prefix = wn.boot.website_settings.title_prefix;
 		}
+		if(wn.boot.startup_code) {
+			eval(wn.boot.startup_code);
+		}
 	} else {
 		// always allow apps
 		wn.boot.profile.allow_modules = wn.boot.profile.allow_modules.concat(
@@ -195,3 +198,20 @@
 $(document).bind('startup', function() {
 	erpnext.startup.start();
 });
+
+// subject, sender, description
+erpnext.send_message = function(opts) {
+	if(opts.btn) {
+		$(opts.btn).start_working();
+	}
+	wn.call({
+		method: 'website.send_message',
+		args: opts,
+		callback: function(r) { 
+			if(opts.btn) {
+				$(opts.btn).done_working();
+			}
+			if(opts.callback)opts.callback(r) 
+		}
+	});
+}
diff --git a/erpnext/website/__init__.py b/erpnext/website/__init__.py
index 97062cf..fbaab0d 100644
--- a/erpnext/website/__init__.py
+++ b/erpnext/website/__init__.py
@@ -2,3 +2,24 @@
 	{"doctype":"Role", "role_name":"Blogger", "name":"Blogger"},
 	{"doctype":"Role", "role_name":"Website Manager", "name":"Website Manager"},
 ]
+
+import webnotes
+
+@webnotes.whitelist(allow_guest=True)
+def send_message():
+	from webnotes.model.doc import Document
+	args = webnotes.form_dict
+	
+	d = Document('Support Ticket')
+	d.subject = webnotes.form_dict.get('subject', 'Website Query')
+	d.description = webnotes.form_dict.get('message')
+	d.raised_by = webnotes.form_dict.get('sender')
+	
+	if not d.description:
+		webnotes.msgprint('Please write something', raise_exception=True)
+		
+	if not d.raised_by:
+		webnotes.msgprint('Please give us your email id so that we can write back to you', raise_exception=True)
+	
+	d.save()
+	webnotes.msgprint('Thank you for your query, we will get back to you asap.')
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_settings/__init__.py b/erpnext/website/doctype/about_us_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/website/doctype/about_us_settings/__init__.py
+++ /dev/null
diff --git a/erpnext/website/doctype/about_us_settings/about_us_settings.py b/erpnext/website/doctype/about_us_settings/about_us_settings.py
deleted file mode 100644
index d3cca17..0000000
--- a/erpnext/website/doctype/about_us_settings/about_us_settings.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-"""
-generate html
-"""
-import webnotes
-
-class DocType:
-	def __init__(self, d, dl):
-		self.doc, self.doclist = d, dl
-		
-	def on_update(self):
-		"""make home html"""
-		from website.utils import make_template
-		import os
-		path = os.path.join(os.path.dirname(__file__), 'template.html')
-		
-		self.doc.about_team = webnotes.conn.sql("""select * from `tabAbout Us Team` 
-			where parent='About Us Settings' order by idx""", as_dict=1)
-		
-		import markdown2
-		for t in self.doc.about_team:
-			t['bio'] = markdown2.markdown(t.get('bio') or '')
-		
-		webnotes.conn.set_value('Page', 'about', 'title', self.doc.headline)
-		webnotes.conn.set_value('Page', 'about', 'content', make_template(self.doc, path))
diff --git a/erpnext/website/doctype/about_us_settings/about_us_settings.txt b/erpnext/website/doctype/about_us_settings/about_us_settings.txt
deleted file mode 100644
index 1682ca3..0000000
--- a/erpnext/website/doctype/about_us_settings/about_us_settings.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-# DocType, About Us Settings
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2012-03-27 14:36:47',
-		'docstatus': 0,
-		'modified': '2012-03-27 14:36:47',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'_last_update': u'1327641155',
-		'allow_attach': 1,
-		'colour': u'White:FFF',
-		'doctype': 'DocType',
-		'issingle': 1,
-		'max_attachments': 10,
-		'module': u'Website',
-		'name': '__common__',
-		'section_style': u'Simple',
-		'show_in_menu': 0,
-		'version': 4
-	},
-
-	# These values are common for all DocField
-	{
-		'doctype': u'DocField',
-		'name': '__common__',
-		'parent': u'About Us Settings',
-		'parentfield': u'fields',
-		'parenttype': u'DocType',
-		'permlevel': 0
-	},
-
-	# These values are common for all DocPerm
-	{
-		'create': 1,
-		'doctype': u'DocPerm',
-		'name': '__common__',
-		'parent': u'About Us Settings',
-		'parentfield': u'permissions',
-		'parenttype': u'DocType',
-		'permlevel': 0,
-		'read': 1,
-		'role': u'Website Manager',
-		'write': 1
-	},
-
-	# DocType, About Us Settings
-	{
-		'doctype': 'DocType',
-		'name': u'About Us Settings'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'headline',
-		'fieldtype': u'Data',
-		'label': u'Headline'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'main_section',
-		'fieldtype': u'Code',
-		'label': u'Main Section'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'team',
-		'fieldtype': u'Table',
-		'label': u'Team',
-		'options': u'About Us Team'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'side_section',
-		'fieldtype': u'Code',
-		'label': u'Side Section'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'file_list',
-		'fieldtype': u'Text',
-		'hidden': 1,
-		'label': u'File List',
-		'no_copy': 1,
-		'print_hide': 1
-	}
-]
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_settings/template.html b/erpnext/website/doctype/about_us_settings/template.html
deleted file mode 100644
index 404ebe9..0000000
--- a/erpnext/website/doctype/about_us_settings/template.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<div class="layout-wrapper layout-wrapper-background">
-	<div class="web-content" id="content-about-us">
-		<div class="layout-main-section">
-			{% if doc.headline %}
-				<h1>{{ doc.headline }}</h1>
-			{% endif %}
-			
-			{{ doc.main_section_html }}
-			
-			{% if doc.about_team %}
-				<h2>Team</h2>
-				<table style="width: 90%">
-					<tbody>
-						{% for p in doc.about_team %}
-							<tr>
-								<td style="width: 110px">
-									<img src="files/{{ p.image }}" 
-										style="width: 100px; margin-right: 10px; 
-											margin-bottom: 15px;" />
-								</td>
-								<td>
-									<h4>{{ p.person_name }}</h4>
-									<p class="field_description">{{ p.designation }}</p>
-									<div style="margin-bottom: 15px">{{ p.bio }}</div>
-								</td>
-							</tr>
-						{% endfor %}
-					</tbody>
-				</table>
-			{% endif %}
-		</div>
-		<div class="layout-side-section">
-			{{ doc.side_section_html }}
-		</div>
-		<div style="clear: both"></div>
-	</div>
-</div>
\ No newline at end of file
diff --git a/erpnext/website/doctype/about_us_team/__init__.py b/erpnext/website/doctype/about_us_team/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/website/doctype/about_us_team/__init__.py
+++ /dev/null
diff --git a/erpnext/website/doctype/about_us_team/about_us_team.txt b/erpnext/website/doctype/about_us_team/about_us_team.txt
deleted file mode 100644
index 3e60290..0000000
--- a/erpnext/website/doctype/about_us_team/about_us_team.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-# DocType, About Us Team
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2012-03-27 14:36:47',
-		'docstatus': 0,
-		'modified': '2012-03-27 14:36:47',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'colour': u'White:FFF',
-		'doctype': 'DocType',
-		'istable': 1,
-		'module': u'Website',
-		'name': '__common__',
-		'section_style': u'Simple',
-		'show_in_menu': 0,
-		'version': 5
-	},
-
-	# These values are common for all DocField
-	{
-		'doctype': u'DocField',
-		'name': '__common__',
-		'parent': u'About Us Team',
-		'parentfield': u'fields',
-		'parenttype': u'DocType',
-		'permlevel': 0
-	},
-
-	# DocType, About Us Team
-	{
-		'doctype': 'DocType',
-		'name': u'About Us Team'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'person_name',
-		'fieldtype': u'Data',
-		'label': u'Person Name'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'designation',
-		'fieldtype': u'Data',
-		'label': u'Designation'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'image',
-		'fieldtype': u'Select',
-		'label': u'Image',
-		'options': u'attach_files:'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'bio',
-		'fieldtype': u'Text',
-		'label': u'Bio (markdown)',
-		'width': u'300px'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/website/doctype/contact_us_settings/__init__.py b/erpnext/website/doctype/contact_us_settings/__init__.py
deleted file mode 100644
index e69de29..0000000
--- a/erpnext/website/doctype/contact_us_settings/__init__.py
+++ /dev/null
diff --git a/erpnext/website/doctype/contact_us_settings/contact_us_settings.py b/erpnext/website/doctype/contact_us_settings/contact_us_settings.py
deleted file mode 100644
index 9914ade..0000000
--- a/erpnext/website/doctype/contact_us_settings/contact_us_settings.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-"""
-generate html
-"""
-import webnotes
-
-class DocType:
-	def __init__(self, d, dl):
-		self.doc, self.doclist = d, dl
-		
-	def on_update(self):
-		"""make home html"""
-		from website.utils import make_template
-		import os
-		path = os.path.join(os.path.dirname(__file__), 'template.html')
-		
-		webnotes.conn.set_value('Page', 'contact', 'title', self.doc.headline)
-		webnotes.conn.set_value('Page', 'contact', 'content', make_template(self.doc, path))
diff --git a/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt b/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt
deleted file mode 100644
index bb518b6..0000000
--- a/erpnext/website/doctype/contact_us_settings/contact_us_settings.txt
+++ /dev/null
@@ -1,100 +0,0 @@
-# DocType, Contact Us Settings
-[
-
-	# These values are common in all dictionaries
-	{
-		'creation': '2012-03-27 14:36:47',
-		'docstatus': 0,
-		'modified': '2012-03-27 14:36:47',
-		'modified_by': u'Administrator',
-		'owner': u'Administrator'
-	},
-
-	# These values are common for all DocType
-	{
-		'colour': u'White:FFF',
-		'doctype': 'DocType',
-		'document_type': u'Other',
-		'issingle': 1,
-		'module': u'Website',
-		'name': '__common__',
-		'section_style': u'Simple',
-		'show_in_menu': 0,
-		'version': 1
-	},
-
-	# These values are common for all DocField
-	{
-		'colour': u'White:FFF',
-		'doctype': u'DocField',
-		'name': '__common__',
-		'parent': u'Contact Us Settings',
-		'parentfield': u'fields',
-		'parenttype': u'DocType',
-		'permlevel': 0
-	},
-
-	# These values are common for all DocPerm
-	{
-		'create': 1,
-		'doctype': u'DocPerm',
-		'name': '__common__',
-		'parent': u'Contact Us Settings',
-		'parentfield': u'permissions',
-		'parenttype': u'DocType',
-		'permlevel': 0,
-		'read': 1,
-		'write': 1
-	},
-
-	# DocType, Contact Us Settings
-	{
-		'doctype': 'DocType',
-		'name': u'Contact Us Settings'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'role': u'Website Manager'
-	},
-
-	# DocPerm
-	{
-		'doctype': u'DocPerm',
-		'role': u'System Manager'
-	},
-
-	# DocField
-	{
-		'default': u'Contact Us',
-		'doctype': u'DocField',
-		'fieldname': u'headline',
-		'fieldtype': u'Data',
-		'label': u'Headline'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'send_email_notification',
-		'fieldtype': u'Check',
-		'label': u'Send Email Notification'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'main_section',
-		'fieldtype': u'Code',
-		'label': u'Main Section'
-	},
-
-	# DocField
-	{
-		'doctype': u'DocField',
-		'fieldname': u'side_section',
-		'fieldtype': u'Code',
-		'label': u'Side Section'
-	}
-]
\ No newline at end of file
diff --git a/erpnext/website/doctype/contact_us_settings/template.html b/erpnext/website/doctype/contact_us_settings/template.html
deleted file mode 100644
index 508b534..0000000
--- a/erpnext/website/doctype/contact_us_settings/template.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<div class="layout-wrapper layout-wrapper-background">
-	<div class="web-content" id="content-contact-us">
-		<div class="layout-main-section">
-			{% if doc.headline %}
-				<h1>{{ doc.headline }}</h1>
-			{% endif %}
-			<label>Your Name*</label>
-			<div><input name="contact-name" type="text"/></div>
-			<br>
-			<label>Email*</label>
-			<div><input name="contact-email" type="text"/></div>
-			<br>
-			<label>Message*</label>
-			<div><textarea name="contact-message" style="height: 200px"></textarea></div>
-			<br>
-			<div><button class="btn primary">Send</button></div>
-			{{ doc.main_section_html }}
-		</div>
-		<div class="layout-side-section">
-			{{ doc.side_section_html }}
-		</div>
-		<div style="clear: both"></div>
-	</div>
-</div>
\ No newline at end of file
diff --git a/erpnext/website/doctype/website_settings/website_settings.txt b/erpnext/website/doctype/website_settings/website_settings.txt
index 32e31c0..ce2a18e 100644
--- a/erpnext/website/doctype/website_settings/website_settings.txt
+++ b/erpnext/website/doctype/website_settings/website_settings.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:36:48',
+		'creation': '2012-04-02 16:38:02',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:36:48',
+		'modified': '2012-04-27 16:41:40',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -23,7 +23,7 @@
 		'name': '__common__',
 		'section_style': u'Simple',
 		'show_in_menu': 0,
-		'version': 9
+		'version': 11
 	},
 
 	# These values are common for all DocField
@@ -194,7 +194,7 @@
 		'doctype': u'DocField',
 		'fieldname': u'subdomain',
 		'fieldtype': u'Text',
-		'label': u'Your ERPNext provided hostname',
+		'label': u'Subdomain',
 		'permlevel': 1,
 		'reqd': 0
 	},
@@ -215,29 +215,18 @@
 		'doctype': u'DocField',
 		'fieldname': u'analytics',
 		'fieldtype': u'Section Break',
-		'label': u'Analytics',
+		'label': u'Startup',
 		'permlevel': 0
 	},
 
 	# DocField
 	{
 		'colour': u'White:FFF',
-		'description': u'Code pasted in the head tag to start an Analytics engine like Google Analytics',
+		'description': u'Bind events on startup and page change',
 		'doctype': u'DocField',
-		'fieldname': u'analytics_code',
-		'fieldtype': u'Text',
-		'label': u'Analytics Code',
-		'permlevel': 0
-	},
-
-	# DocField
-	{
-		'colour': u'White:FFF',
-		'description': u"Function to be called when page is changed. (_gaq.push['_trackPageview'] for Google Code)",
-		'doctype': u'DocField',
-		'fieldname': u'analytics_call',
-		'fieldtype': u'Text',
-		'label': u'Analytics Call',
+		'fieldname': u'startup_code',
+		'fieldtype': u'Code',
+		'label': u'Startup Code',
 		'permlevel': 0
 	}
 ]
\ No newline at end of file
diff --git a/erpnext/website/page/website_home/website_home.html b/erpnext/website/page/website_home/website_home.html
index 3252282..ad8bb55 100644
--- a/erpnext/website/page/website_home/website_home.html
+++ b/erpnext/website/page/website_home/website_home.html
@@ -31,19 +31,6 @@
 	<div class="layout-side-section">
 		<div class="psidebar">
 			<div class="section">
-				<div class="section-head">Tools</div>
-				<div class="section-body">
-					<div class="section-item">
-						<a class="section-link" 
-							title = "About Us page"
-							href="#!Form/About Us Settings/About Us Settings">About Us Settings</a>
-					</div>
-					<div class="section-item">
-						<a class="section-link" 
-							title = "Contact Us page"
-							href="#!Form/Contact Us Settings/Contact Us Settings">Contact Us Settings</a>
-					</div>
-				</div>
 			</div>
 		</div>
 
diff --git a/js/all-app.js b/js/all-app.js
index 7090e15..675bcab 100644
--- a/js/all-app.js
+++ b/js/all-app.js
@@ -444,7 +444,7 @@
  */
 wn.provide('wn.views.pageview');wn.views.pageview={pages:{},with_page:function(name,callback){if(!locals.Page[name]){wn.call({method:'webnotes.widgets.page.getpage',args:{'name':name},callback:callback});}else{callback();}},show:function(name){if(!name)name=wn.boot.home_page;wn.views.pageview.with_page(name,function(r){if(r&&r.exc){if(!r['403'])wn.container.change_to('404');}else if(!wn.pages[name]){wn.views.pageview.pages[name]=new wn.views.Page(name);}
 wn.container.change_to(name);});}}
-wn.views.Page=Class.extend({init:function(name){this.name=name;var me=this;this.pagedoc=locals.Page[this.name];this.wrapper=wn.container.add_page(this.name);this.wrapper.label=this.pagedoc.title||this.pagedoc.name;this.wrapper.innerHTML=this.pagedoc.content;wn.dom.eval(this.pagedoc.__script||this.pagedoc.script||'');wn.dom.set_style(this.pagedoc.style||'');this.trigger('onload');$(this.wrapper).bind('show',function(){cur_frm=null;me.trigger('onshow');me.trigger('refresh');});},trigger:function(eventname){var me=this;try{if(pscript[eventname+'_'+this.name]){pscript[eventname+'_'+this.name](me.wrapper);}else if(me.wrapper[eventname]){me.wrapper[eventname](me.wrapper);}}catch(e){console.log(e);}}})
+wn.views.Page=Class.extend({init:function(name){this.name=name;var me=this;this.pagedoc=locals.Page[this.name];this.wrapper=wn.container.add_page(this.name);this.wrapper.label=this.pagedoc.title||this.pagedoc.name;this.wrapper.page_name=this.pagedoc.name;this.wrapper.innerHTML=this.pagedoc.content;wn.dom.eval(this.pagedoc.__script||this.pagedoc.script||'');wn.dom.set_style(this.pagedoc.style||'');this.trigger('onload');$(this.wrapper).bind('show',function(){cur_frm=null;me.trigger('onshow');me.trigger('refresh');});},trigger:function(eventname){var me=this;try{if(pscript[eventname+'_'+this.name]){pscript[eventname+'_'+this.name](me.wrapper);}else if(me.wrapper[eventname]){me.wrapper[eventname](me.wrapper);}}catch(e){console.log(e);}}})
 wn.views.make_404=function(){var page=wn.container.add_page('404');$(page).html('<div class="layout-wrapper">\
   <h1>Not Found</h1><br>\
   <p>Sorry we were unable to find what you were looking for.</p>\
@@ -2219,7 +2219,8 @@
 wn.provide('wn.modules');$.extend(wn.modules,erpnext.modules);wn.modules['Core']='Setup';erpnext.startup.set_globals=function(){if(inList(user_roles,'System Manager'))is_system_manager=1;}
 erpnext.startup.start=function(){console.log('Starting up...');$('#startup_div').html('Starting up...').toggle(true);erpnext.startup.set_globals();if(wn.boot.user_background){erpnext.set_user_background(wn.boot.user_background);}
 if(user=='Guest'){if(wn.boot.custom_css){set_style(wn.boot.custom_css);}
-if(wn.boot.website_settings.title_prefix){wn.title_prefix=wn.boot.website_settings.title_prefix;}}else{wn.boot.profile.allow_modules=wn.boot.profile.allow_modules.concat(['To Do','Knowledge Base','Calendar','Activity','Messages'])
+if(wn.boot.website_settings.title_prefix){wn.title_prefix=wn.boot.website_settings.title_prefix;}
+if(wn.boot.startup_code){eval(wn.boot.startup_code);}}else{wn.boot.profile.allow_modules=wn.boot.profile.allow_modules.concat(['To Do','Knowledge Base','Calendar','Activity','Messages'])
 if(user_roles.indexOf('Accounts Manager')!=-1){wn.boot.profile.allow_modules.push('Dashboard');}
 erpnext.toolbar.setup();erpnext.startup.set_periodic_updates();if(in_list(user_roles,'System Manager')&&(wn.boot.setup_complete=='No')){wn.require("erpnext/startup/js/complete_setup.js");erpnext.complete_setup.show();}
 if(wn.boot.expires_on){var today=dateutil.str_to_obj(dateutil.get_today());var expires_on=dateutil.str_to_obj(wn.boot.expires_on);var diff=dateutil.get_diff(expires_on,today);if(0<=diff&&diff<=15){var expiry_string=diff==0?"today":repl("in %(diff)s day(s)",{diff:diff});$('header').append(repl('<div class="expiry-info"> \
@@ -2241,7 +2242,9 @@
 erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
 wn.updates.id=setInterval(update_messages,60000);}
 erpnext.set_user_background=function(src){set_style(repl('#body_div { background: url("files/%(src)s") repeat;}',{src:src}))}
-$(document).bind('startup',function(){erpnext.startup.start();});
+$(document).bind('startup',function(){erpnext.startup.start();});erpnext.send_message=function(opts){if(opts.btn){$(opts.btn).start_working();}
+wn.call({method:'website.send_message',args:opts,callback:function(r){if(opts.btn){$(opts.btn).done_working();}
+if(opts.callback)opts.callback(r)}});}
 /*
  *	erpnext/startup/js/modules.js
  */
diff --git a/js/all-web.js b/js/all-web.js
index b2b1fb8..41512cd 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -331,7 +331,7 @@
  */
 wn.provide('wn.views.pageview');wn.views.pageview={pages:{},with_page:function(name,callback){if(!locals.Page[name]){wn.call({method:'webnotes.widgets.page.getpage',args:{'name':name},callback:callback});}else{callback();}},show:function(name){if(!name)name=wn.boot.home_page;wn.views.pageview.with_page(name,function(r){if(r&&r.exc){if(!r['403'])wn.container.change_to('404');}else if(!wn.pages[name]){wn.views.pageview.pages[name]=new wn.views.Page(name);}
 wn.container.change_to(name);});}}
-wn.views.Page=Class.extend({init:function(name){this.name=name;var me=this;this.pagedoc=locals.Page[this.name];this.wrapper=wn.container.add_page(this.name);this.wrapper.label=this.pagedoc.title||this.pagedoc.name;this.wrapper.innerHTML=this.pagedoc.content;wn.dom.eval(this.pagedoc.__script||this.pagedoc.script||'');wn.dom.set_style(this.pagedoc.style||'');this.trigger('onload');$(this.wrapper).bind('show',function(){cur_frm=null;me.trigger('onshow');me.trigger('refresh');});},trigger:function(eventname){var me=this;try{if(pscript[eventname+'_'+this.name]){pscript[eventname+'_'+this.name](me.wrapper);}else if(me.wrapper[eventname]){me.wrapper[eventname](me.wrapper);}}catch(e){console.log(e);}}})
+wn.views.Page=Class.extend({init:function(name){this.name=name;var me=this;this.pagedoc=locals.Page[this.name];this.wrapper=wn.container.add_page(this.name);this.wrapper.label=this.pagedoc.title||this.pagedoc.name;this.wrapper.page_name=this.pagedoc.name;this.wrapper.innerHTML=this.pagedoc.content;wn.dom.eval(this.pagedoc.__script||this.pagedoc.script||'');wn.dom.set_style(this.pagedoc.style||'');this.trigger('onload');$(this.wrapper).bind('show',function(){cur_frm=null;me.trigger('onshow');me.trigger('refresh');});},trigger:function(eventname){var me=this;try{if(pscript[eventname+'_'+this.name]){pscript[eventname+'_'+this.name](me.wrapper);}else if(me.wrapper[eventname]){me.wrapper[eventname](me.wrapper);}}catch(e){console.log(e);}}})
 wn.views.make_404=function(){var page=wn.container.add_page('404');$(page).html('<div class="layout-wrapper">\
   <h1>Not Found</h1><br>\
   <p>Sorry we were unable to find what you were looking for.</p>\
@@ -826,7 +826,8 @@
 wn.provide('wn.modules');$.extend(wn.modules,erpnext.modules);wn.modules['Core']='Setup';erpnext.startup.set_globals=function(){if(inList(user_roles,'System Manager'))is_system_manager=1;}
 erpnext.startup.start=function(){console.log('Starting up...');$('#startup_div').html('Starting up...').toggle(true);erpnext.startup.set_globals();if(wn.boot.user_background){erpnext.set_user_background(wn.boot.user_background);}
 if(user=='Guest'){if(wn.boot.custom_css){set_style(wn.boot.custom_css);}
-if(wn.boot.website_settings.title_prefix){wn.title_prefix=wn.boot.website_settings.title_prefix;}}else{wn.boot.profile.allow_modules=wn.boot.profile.allow_modules.concat(['To Do','Knowledge Base','Calendar','Activity','Messages'])
+if(wn.boot.website_settings.title_prefix){wn.title_prefix=wn.boot.website_settings.title_prefix;}
+if(wn.boot.startup_code){eval(wn.boot.startup_code);}}else{wn.boot.profile.allow_modules=wn.boot.profile.allow_modules.concat(['To Do','Knowledge Base','Calendar','Activity','Messages'])
 if(user_roles.indexOf('Accounts Manager')!=-1){wn.boot.profile.allow_modules.push('Dashboard');}
 erpnext.toolbar.setup();erpnext.startup.set_periodic_updates();if(in_list(user_roles,'System Manager')&&(wn.boot.setup_complete=='No')){wn.require("erpnext/startup/js/complete_setup.js");erpnext.complete_setup.show();}
 if(wn.boot.expires_on){var today=dateutil.str_to_obj(dateutil.get_today());var expires_on=dateutil.str_to_obj(wn.boot.expires_on);var diff=dateutil.get_diff(expires_on,today);if(0<=diff&&diff<=15){var expiry_string=diff==0?"today":repl("in %(diff)s day(s)",{diff:diff});$('header').append(repl('<div class="expiry-info"> \
@@ -848,7 +849,9 @@
 erpnext.startup.set_periodic_updates=function(){wn.updates={};if(wn.updates.id){clearInterval(wn.updates.id);}
 wn.updates.id=setInterval(update_messages,60000);}
 erpnext.set_user_background=function(src){set_style(repl('#body_div { background: url("files/%(src)s") repeat;}',{src:src}))}
-$(document).bind('startup',function(){erpnext.startup.start();});
+$(document).bind('startup',function(){erpnext.startup.start();});erpnext.send_message=function(opts){if(opts.btn){$(opts.btn).start_working();}
+wn.call({method:'website.send_message',args:opts,callback:function(r){if(opts.btn){$(opts.btn).done_working();}
+if(opts.callback)opts.callback(r)}});}
 /*
  *	erpnext/website/js/topbar.js
  */