diff --git a/Definitions/toastr-1.0.d.ts b/Definitions/toastr-1.0.d.ts
new file mode 100644
index 000000000..772970218
--- /dev/null
+++ b/Definitions/toastr-1.0.d.ts
@@ -0,0 +1,36 @@
+// Type definitions for Toastr 1.0
+// Project: https://github.com/CodeSeven/toastr
+// Definitions by: Boris Yankov
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface ToastOptions {
+ tapToDismiss?: bool;
+ toastClass?: string;
+ containerId?: string;
+ debug?: bool;
+ fadeIn?: number;
+ fadeOut?: number;
+ extendedTimeOut?: number;
+ iconClasses?: {
+ error: string;
+ info: string;
+ success: string;
+ warning: string;
+ };
+ iconClass?: string;
+ positionClass?: string;
+ timeOut?: number;
+ titleClass?: string;
+ messageClass?: string;
+}
+
+interface Toastr {
+ options: ToastOptions;
+
+ info(message: string, title?: string);
+ warning(message: string, title?: string);
+ success(message: string, title?: string);
+ error(message: string, title?: string);
+}
+
+declare var toastr: Toastr;
\ No newline at end of file
diff --git a/README.md b/README.md
index 13f435d1e..a19054fdd 100644
--- a/README.md
+++ b/README.md
@@ -1,63 +1,64 @@
-DefinitelyTyped
-===============
-
-TypeScript type definitions repository for popular JavaScript libraries.
-
-The project aims to provide *high quality* definitions for the most popular libraries out there.
-
-Complete
---------
-* [AngularJS](http://angularjs.org) (by [Diego Vilar](https://github.com/diegovilar)) ([wiki](https://github.com/borisyankov/DefinitelyTyped/wiki/AngularJS-Definitions-Usage-Notes))
-* [async](https://github.com/caolan/async)
-* [Backbone.js](http://backbonejs.org/)
-* [Bootstrap](http://twitter.github.com/bootstrap/)
-* [CodeMirror](http://codemirror.net) (by [François de Campredon](https://github.com/fdecampredon))
-* [Chosen](http://harvesthq.github.com/chosen/)
-* [dynatree](http://code.google.com/p/dynatree/) (by [François de Campredon](https://github.com/fdecampredon))
-* [EaselJS](http://www.createjs.com/#!/EaselJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
-* [ember.js](http://emberjs.com/)
-* [Express](http://expressjs.com/)
-* [Fancybox](http://fancybox.net/)
-* [GoogleMaps](https://developers.google.com/maps/) (by [Esben Nepper](https://github.com/eNepper))
-* [Handlebars](http://handlebarsjs.com/)
-* [History.js](https://github.com/balupton/History.js/)
-* [Humane.js](http://wavded.github.com/humane-js/) (by [John Vrbanac](https://github.com/jmvrbanac))
-* [Impress.js](https://github.com/bartaz/impress.js)
-* [Jasmine](http://pivotal.github.com/jasmine/)
-* [jQuery.Globalize](https://github.com/jquery/globalize)
-* [jQuery](http://jquery.com/) (from TypeScript samples)
-* [jQuery Mobile](http://jquerymobile.com)
-* [jQuery UI](http://jqueryui.com/)
-* [Knockback](http://kmalakoff.github.com/knockback/) (by [Marcel Binot](https://github.com/docgit))
-* [Knockout.js](http://knockoutjs.com/)
-* [Knockout.Mapping](https://github.com/SteveSanderson/knockout.mapping)
-* [linq.js](http://linqjs.codeplex.com/) (by Marcin Najder (https://github.com/marcinnajder))
-* [Modernizr](http://modernizr.com/)
-* [Moment.js](https://github.com/timrwood/moment) (by [Michael Lakerveld](https://github.com/Lakerfield))
-* [Mustache.js](https://github.com/janl/mustache.js)
-* [Node.js](http://nodejs.org/) (from TypeScript samples)
-* [node_redis](https://github.com/mranney/node_redis)
-* [node-sqlserver](https://github.com/WindowsAzure/node-sqlserver)
-* [PhoneGap](http://phonegap.com)
-* [PreloadJS](http://www.createjs.com/#!/PreloadJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
-* [QUnit](http://qunitjs.com/) (by [Diullei Gomes](https://github.com/Diullei))
-* [Raphael](http://raphaeljs.com/) (by [CheCoxshall](https://github.com/CheCoxshall))
-* [Sammy.js](http://sammyjs.org/)
-* [SoundJS](http://www.createjs.com/#!/SoundJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
-* [Spin](http://fgnass.github.com/spin.js/)
-* [Sugar](http://sugarjs.com/) (by Josh Baldwin)(https://github.com/jbaldwin/)
-* [Teechart](http://www.steema.com) (by [Steema]) (http://www.steema.com)
-* [TweenJS](http://www.createjs.com/#!/TweenJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
-* [Underscore.js](http://underscorejs.org/)
-* [Underscore.js (Typed)](http://underscorejs.org/) (by Josh Baldwin)(https://github.com/jbaldwin/)
-
-Next
-----
-* Facebook SDK
-* jQuery.Validate
-* google.visualization
-* Meteor
-* Isotope
-* Zepto
-* Socket.IO
+DefinitelyTyped
+===============
+
+TypeScript type definitions repository for popular JavaScript libraries.
+
+The project aims to provide *high quality* definitions for the most popular libraries out there.
+
+Complete
+--------
+* [AngularJS](http://angularjs.org) (by [Diego Vilar](https://github.com/diegovilar)) ([wiki](https://github.com/borisyankov/DefinitelyTyped/wiki/AngularJS-Definitions-Usage-Notes))
+* [async](https://github.com/caolan/async)
+* [Backbone.js](http://backbonejs.org/)
+* [Bootstrap](http://twitter.github.com/bootstrap/)
+* [CodeMirror](http://codemirror.net) (by [François de Campredon](https://github.com/fdecampredon))
+* [Chosen](http://harvesthq.github.com/chosen/)
+* [dynatree](http://code.google.com/p/dynatree/) (by [François de Campredon](https://github.com/fdecampredon))
+* [EaselJS](http://www.createjs.com/#!/EaselJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
+* [ember.js](http://emberjs.com/)
+* [Express](http://expressjs.com/)
+* [Fancybox](http://fancybox.net/)
+* [GoogleMaps](https://developers.google.com/maps/) (by [Esben Nepper](https://github.com/eNepper))
+* [Handlebars](http://handlebarsjs.com/)
+* [History.js](https://github.com/balupton/History.js/)
+* [Humane.js](http://wavded.github.com/humane-js/) (by [John Vrbanac](https://github.com/jmvrbanac))
+* [Impress.js](https://github.com/bartaz/impress.js)
+* [Jasmine](http://pivotal.github.com/jasmine/)
+* [jQuery.Globalize](https://github.com/jquery/globalize)
+* [jQuery](http://jquery.com/) (from TypeScript samples)
+* [jQuery Mobile](http://jquerymobile.com)
+* [jQuery UI](http://jqueryui.com/)
+* [Knockback](http://kmalakoff.github.com/knockback/) (by [Marcel Binot](https://github.com/docgit))
+* [Knockout.js](http://knockoutjs.com/)
+* [Knockout.Mapping](https://github.com/SteveSanderson/knockout.mapping)
+* [linq.js](http://linqjs.codeplex.com/) (by Marcin Najder (https://github.com/marcinnajder))
+* [Modernizr](http://modernizr.com/)
+* [Moment.js](https://github.com/timrwood/moment) (by [Michael Lakerveld](https://github.com/Lakerfield))
+* [Mustache.js](https://github.com/janl/mustache.js)
+* [Node.js](http://nodejs.org/) (from TypeScript samples)
+* [node_redis](https://github.com/mranney/node_redis)
+* [node-sqlserver](https://github.com/WindowsAzure/node-sqlserver)
+* [PhoneGap](http://phonegap.com)
+* [PreloadJS](http://www.createjs.com/#!/PreloadJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
+* [QUnit](http://qunitjs.com/) (by [Diullei Gomes](https://github.com/Diullei))
+* [Raphael](http://raphaeljs.com/) (by [CheCoxshall](https://github.com/CheCoxshall))
+* [Sammy.js](http://sammyjs.org/)
+* [SoundJS](http://www.createjs.com/#!/SoundJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
+* [Spin](http://fgnass.github.com/spin.js/)
+* [Sugar](http://sugarjs.com/) (by Josh Baldwin)(https://github.com/jbaldwin/)
+* [Teechart](http://www.steema.com) (by [Steema]) (http://www.steema.com)
+* [Toastr](https://github.com/CodeSeven/toastr)
+* [TweenJS](http://www.createjs.com/#!/TweenJS) (by [Pedro Ferreira](https://bitbucket.org/drk4))
+* [Underscore.js](http://underscorejs.org/)
+* [Underscore.js (Typed)](http://underscorejs.org/) (by Josh Baldwin)(https://github.com/jbaldwin/)
+
+Next
+----
+* Facebook SDK
+* jQuery.Validate
+* google.visualization
+* Meteor
+* Isotope
+* Zepto
+* Socket.IO
* MongoDB
\ No newline at end of file
diff --git a/Tests/toastr-tests.ts b/Tests/toastr-tests.ts
new file mode 100644
index 000000000..0c59776a2
--- /dev/null
+++ b/Tests/toastr-tests.ts
@@ -0,0 +1,52 @@
+///
+
+function test_basic() {
+ toastr.info('Are you the 6 fingered man?');
+ toastr.warning('My name is Inigo Montoya. You Killed my father, prepare to die!');
+ toastr.success('Have fun storming the castle!', 'Miracle Max Says');
+ toastr.error('I do not think that word means what you tink it means.', 'Inconceivable!');
+}
+
+declare var $;
+function test_fromdemo() {
+ $('#showtoast').click(function () {
+ var shortCutFunction = $("#toastTypeGroup input:radio:checked").val(),
+ msg = $('#message').val(),
+ title = $('#title').val() || '',
+ $fadeIn = $('#fadeIn'),
+ $fadeOut = $('#fadeOut'),
+ $timeOut = $('#timeOut'),
+ $extendedTimeOut = $('#extendedTimeOut'),
+ toastIndex = 123;
+ toastr.options = {
+ debug: $('#debugInfo').prop('checked'),
+ tapToDismiss: $('#tapToDismiss').prop('checked'),
+ positionClass: $('#positionGroup input:radio:checked').val() || 'toast-top-right'
+ }
+ if ($fadeIn.val().length) {
+ toastr.options.fadeIn = +$fadeIn.val()
+ }
+ if ($fadeOut.val().length) {
+ toastr.options.fadeOut = +$fadeOut.val()
+ }
+ if ($timeOut.val().length) {
+ toastr.options.timeOut = +$timeOut.val()
+ }
+ if ($extendedTimeOut.val().length) {
+ toastr.options.extendedTimeOut = +$extendedTimeOut.val()
+ }
+ var $toast = toastr[shortCutFunction](msg, title)
+ if ($toast.find('#okBtn').length) {
+ $toast.on('click', '#okBtn', function () {
+ alert('you clicked me. i was toast #' + toastIndex + '. goodbye!')
+ $toast.remove()
+ })
+ }
+ if ($toast.find('#surpriseBtn').length) {
+ $toast.on('click', '#surpriseBtn', function () {
+ alert('Surprise! you clicked me. i was toast #' + toastIndex + '. You could perform an action here.')
+ })
+ }
+
+ });
+}
\ No newline at end of file