/**
  * Checks for valid classes and functions
  * 
  * @return bool
  */
 static function Route()
 {
     if (!isset(Rajax_Application::$request->options) && Rajax_Application::$request->output == 'html') {
         return false;
     }
     if (isset(Rajax_Application::$request->controller)) {
         $controller_parts = explode('_', Rajax_Application::$request->controller);
     } else {
         $controller_parts[0] = ' DoenstExist ';
     }
     if (!class_exists($controller_parts[0], false)) {
         self::$errorMessage = 'Class: ' . $controller_parts[0] . ' doenst exist.';
         return false;
     }
     $controller = new $controller_parts[0]();
     if (count($controller_parts) == 2) {
         if (method_exists($controller, $controller_parts[1])) {
             $controller->{$controller_parts}[1]();
             return true;
         } else {
             self::$errorMessage = 'Function ' . $controller_parts[1] . ' in controller: ' . Rajax_Application::$request->controller . ' doenst exist.';
             return false;
         }
     } else {
         if (method_exists($controller, 'main')) {
             $controller->main();
             return true;
         } else {
             self::$errorMessage = 'Function main in controller: ' . Rajax_Application::$request->controller . ' doenst exist.';
             return false;
         }
     }
 }
 /**
  * Starting rajax
  * 
  * @return void
  */
 public function start()
 {
     if (class_exists('Rajax_Generate')) {
         // calling rajax generator and updating main.js if neccessary
     }
     if (!Rajax_Route::Route()) {
         print Rajax_Application::error404();
     }
 }