var Router = function(){

  var routes = { "default": ["action"] };

  this.setRoute = function(name, route)
  {
    routes[name] = route;
  };
  
  this.setRoutes = function(routes_arr)
  {
    routes = routes_arr;
  };
  
  this.hasRoute = function(name)
  {
    if(routes[name])
      return true;
    else return false;
  };
  
  this.getRoute = function(name)
  {
    return routes[name];
  };
  
  this.getRoutes = function()
  {
    return routes;
  }

};

var AjaxCore = function()
{ 
  this.execute = function(action, params)
  {
    if(!params) params = Array();
    var rparams = Array();
    var route;
    if(router.hasRoute(action))
      route = router.getRoute(action);
    else
      route = router.getRoute('default');
  
    var i = 1;
    for(var r in route)
    {
      rparams[route[r]] = params[i];
      i++;
    }
    for(var p in params)
    {
      rparams[p] = params[p];
    }
    params = rparams;
    if(!actions)
    actions = new Actions();
    if(actions[action])
    {
      eval("actions."+action+"(params)");
    }    
  };

}; 

// linki ajax
var currentAnchor = null;  
var router = new Router();
var actions = new Actions();

function checkAnchor(){
    if(currentAnchor != document.location.hash){  
        currentAnchor = document.location.hash;
        if(currentAnchor.search("!") >= 0)
        {
          $("#newslot").remove();
        }
        
        if(currentAnchor)
        {
            var splits = currentAnchor.substring(1).split('/');
            var section = splits[0];
            section = section.replace(/-/g, "");
            section = section.replace("!", "");
            delete splits[0];
            var params = splits;
            var ajax = new AjaxCore();
            ajax.execute(section, params);
        }
    }
    
}
