﻿define(['common/routes', 'common/router', 'common/layout', 'common/route-handler'], function (routes, Router, layout, RouteHandler) {
    var idx, route,
        router = new Router({
            init: function () {
                layout.render("#container");
            },
            routeMissing: function () {
                router.navigate(router.urlFor('default-route'));
            }
        }),
        routeHandler = new RouteHandler(router);

    for (idx = 0; idx < routes.length; idx++) {
        route = routes[idx];
        router.route(route['name'], route['route'], route['handler'](router));
    }

    router.route(/^\/([^\/]+)\/([^\/]+)(?:\/([^\/]+))?$/, routeHandler.handle);

    return router;
});
@@ -77,16 +77,20 @@
 ndler'%5D,
+%0A   
  functio
@@ -128,24 +128,28 @@
 eHandler) %7B%0A
+    
     var idx,
@@ -160,24 +160,28 @@
 te,%0A        
+ 
+   
 router = new
@@ -202,16 +202,20 @@
         
+    
 init: fu
@@ -242,16 +242,20 @@
         
+  
+  
 layout.r
@@ -291,11 +291,18 @@
     
-%7D,%0A
+    %7D,%0A   
     
@@ -305,24 +305,25 @@
             
+ 
 routeMissing
@@ -330,32 +330,36 @@
 : function () %7B%0A
+    
                 
@@ -403,24 +403,28 @@
 t-route'));%0A
+    
             
@@ -437,12 +437,20 @@
     
-%7D),%0A
+    %7D),%0A    
     
@@ -499,16 +499,20 @@
 );%0A%0A    
+ 
+   
 for (idx
@@ -551,24 +551,28 @@
 ) %7B%0A        
+    
 route = rout
@@ -584,24 +584,28 @@
 x%5D;%0A        
+  
+  
 router.route
@@ -671,15 +671,23 @@
     
-%7D%0A%0A
+    %7D%0A%0A   
     
+ 
 rout
@@ -755,24 +755,28 @@
 r.handle);%0A%0A
+    
     return r
@@ -782,11 +782,15 @@
 router;%0A
+    
 %7D);

Format code.