text: var xenonNotes = xenonNotes || {};
  
  ;(function($, window, undefined)
  {
  	"use strict";
  	
  	$(document).ready(function()
  	{
  		xenonNotes.$container = $(".notes-env");
  		
  		$.extend(xenonNotes, {
  			isPresent: xenonNotes.$container.length > 0,
  			
  			noTitleText: "Untitled",
  			noDescriptionText: "(No content)",
  			
  			
  			$currentNote: $(null),
  			$currentNoteTitle: $(null),
  			$currentNoteDescription: $(null),
  			$currentNoteContent: $(null),
  			
  			addNote: function()
  			{	
  				var $note = $('<li><a href="#"><strong></strong><span></li></a></li>');
  				
  				$note.append('<div class="content"></div>').append('<button class="note-close">&times;</button>');
  				
  				$note.find('strong').html(xenonNotes.noTitleText);
  				$note.find('span').html(xenonNotes.noDescriptionText);
  				
  				xenonNotes.$notesList.prepend($note);
  				
  				TweenMax.set($note, {autoAlpha: 0});
  				
  				var tl = new TimelineMax();
  				
  				tl.append( TweenMax.to($note, .10, {css: {autoAlpha: 1}}) );
  				tl.append( TweenMax.to($note, .15, {css: {autoAlpha: .8}}) );
  				tl.append( TweenMax.to($note, .15, {css: {autoAlpha: 1}}) );
  				
  				xenonNotes.$notesList.find('li').removeClass('current');
  				$note.addClass('current');
  				
  				xenonNotes.$writePadTxt.focus();
  				
  				xenonNotes.checkCurrentNote();
  			},
  			
  			checkCurrentNote: function()
  			{
  				var $current_note = xenonNotes.$notesList.find('li.current').first();
  				
  				if($current_note.length)
  				{
  					xenonNotes.$currentNote             = $current_note;
  					xenonNotes.$currentNoteTitle        = $current_note.find('strong');
  					xenonNotes.$currentNoteDescription  = $current_note.find('span');
  					xenonNotes.$currentNoteContent      = $current_note.find('.content');
  					
  					xenonNotes.$writePadTxt.val( $.trim( xenonNotes.$currentNoteContent.html() ) ).trigger('autosize.resize');;
  				}
  				else
  				{
  					var first = xenonNotes.$notesList.find('li:first:not(.no-notes)');
  					
  					if(first.length)
  					{
  						first.addClass('current');
  						xenonNotes.checkCurrentNote();
  					}
  					else
  					{
  						xenonNotes.$writePadTxt.val('');
  						xenonNotes.$currentNote = $(null);
  						xenonNotes.$currentNoteTitle = $(null);
  						xenonNotes.$currentNoteDescription = $(null);
  						xenonNotes.$currentNoteContent = $(null);
  					}
  				}
  			},
  			
  			updateCurrentNoteText: function()
  			{
  				var text = $.trim( xenonNotes.$writePadTxt.val() );
  					
  				if(xenonNotes.$currentNote.length)
  				{
  					var title = '',
  						description = '';
  					
  					if(text.length)
  					{
  						var _text = text.split("\n"), currline = 1;
  						
  						for(var i=0; i<_text.length; i++)
  						{
  							if(_text[i])
  							{
  								if(currline == 1)
  								{
  									title = _text[i];
  								}
  								else
  								if(currline == 2)
  								{
  									description = _text[i];
  								}
  								
  								currline++;
  							}
  							
  							if(currline > 2)
  								break;
  						}
  					}
  					
  					xenonNotes.$currentNoteTitle.text( title.length ? title : xenonNotes.noTitleText );
  					xenonNotes.$currentNoteDescription.text( description.length ? description : xenonNotes.noDescriptionText );
  					xenonNotes.$currentNoteContent.text( text );
  				}
  				else
  				if(text.length)
  				{
  					xenonNotes.addNote();
  				}
  			}
  		});
  		
  		// Mail Container Height fit with the document
  		if(xenonNotes.isPresent)
  		{
  			xenonNotes.$notesList = xenonNotes.$container.find('.list-of-notes');
  			xenonNotes.$writePad = xenonNotes.$container.find('.write-pad');
  			xenonNotes.$writePadTxt = xenonNotes.$writePad.find('textarea');
  			
  			xenonNotes.$addNote = xenonNotes.$container.find('#add-note');
  			
  			xenonNotes.$addNote.on('click', function(ev)
  			{
  				xenonNotes.addNote();
  			});
  			
  			xenonNotes.$writePadTxt.on('keyup', function(ev)
  			{
  				xenonNotes.updateCurrentNoteText();
  			});
  			
  			xenonNotes.checkCurrentNote();
  			
  			xenonNotes.$notesList.on('click', 'li a', function(ev)
  			{
  				ev.preventDefault();
  				
  				xenonNotes.$notesList.find('li').removeClass('current');
  				$(this).parent().addClass('current');
  				
  				xenonNotes.checkCurrentNote();
  				
  				
  			});
  			
  			xenonNotes.$notesList.on('click', 'li .note-close', function(ev)
  			{
  				ev.preventDefault();
  				
  				var $note = $(this).parent();
  				
  				var tl = new TimelineMax();
  				
  				tl.append( 
  					TweenMax.to($note, .15, {css: {autoAlpha: 0}, onComplete: function()
  					{
  						$note.remove();
  						xenonNotes.checkCurrentNote();
  					}}) 
  				);
  			});
  		}
  	});
  	
  })(jQuery, window);
  
  