1. Form Validation
    1. default validation types
    2. custom validation types
    3. condition based validation types - required based on another control
    4. default trigger
    5. custom trigger
      1. get the invalid controls
      2. get the valid controls
    6. fetch the default validation message
    7. provide custom messages
    8. custom messages using attributes and also using api for different languages
    9. validation sequence
  2. JavaScript Basics
    1. functions
    2. objects
    3. passing arguments to objects
    4. passing function as arguments
    5. closure
    6. using prototype
  3. JQuery
    1. concepts
    2. selectors
    3. data processing
    4. attributes and styles
    5. animations
    6. utilities
    7. memory leaks
    8. custom functions in jquery
  4. MVVM
    1. why
    2. what
    3. how
    4. examples
    5. possible to have multiple viewmodels in the document
    6. scope for each viewmodel
    7. predefined and custom templates
    8. observables for different data types
    9. communication between viewmodels
  5. Web Storage
    1. Offline Storage
      1. concept
    2. Session Storage
      1. poly filles
      2. html5 shiv
      3. html5test.com
    3. Local Storage
      1. concepts
      2. examples
      3. limitations
      4. supporting browsers
    4. Index Storage
      1. concepts
      2. examples
      3. limitations
      4. async api
  6. Duplex Communication
    1. Web Sockets
      1. kind of long pooling
      2. allows push mechanism
      3. possible to send binary data
      4. sever has to support websockets
      5. java 1.7 and tomcat 7.0 supports
      6. windows 2008 and IIS8 supports
      7. alchemy can be used for .net applications
      8. not part of HTML5 specification
      9. use ws:// and wss:// protocol
      10. Subtopic 9
  7. Web Workers
    1. threads in javascript
    2. not allowed to access DOM tree
    3. UI access is always allowed in UI thread
    4. why to make UI thread safe
    5. in separate file
    6. inline is possible using object urls
    7. data exchange is done using messages
  8. Drag and Drop
    1. make the elements draggable
    2. should handle the dragstart event
    3. prepare the data transfer object and what time of content to drap
    4. next dragover
    5. next dragenter event
    6. drop where drop operation done
    7. can transfer any data type
    8. how to avoid inter browser drop events
  9. SVG and Canvas
    1. canvas is resolution dependent - raster graphics
    2. svg is resolution independent - vector graphics
    3. svg is like drawing using graphics object
  10. GeoLocations
    1. browser can connect to geolocation server
    2. new object introduced called navigator
    3. provides latitude and longitude
  11. CSS3
    1. new styles
    2. new selectors
    3. borders with radius
    4. shadow effects
    5. can download own fonts and use
    6. Media Queries
      1. responsive web design
      2. talks about the layout of the page when the client is different like tablet, phone, pc,....
      3. change the page layout and styles based on the resolution
      4. can be provided with media property in link tag
      5. can be done in style sheets
  12. MicroData
    1. metadata for the site
    2. provide extra meaning to the content for the tag
    3. adds semantic attributes to the content
    4. semantic information to the content in the page for search engine
    5. ex: an image tag, span tag shows the author of the image, but to link the image with the author
  13. Main Topic 13