﻿var Albasha = {
   onLoad: function() {

   },
   
   addToCartView: function(productId) {
      new Ajax.Request(Albasha.generateUrl('Cart', 'Add', null), {
         parameters: {
            productId: productId,
            quantity: 1,
            description: ""
         },
         method: 'post',
         onSuccess: function(transport) {
            $('cart').update(transport.responseText);
         }
      });
   },

   removeCartItem: function(itemId, view) {
      new Ajax.Request(Albasha.generateUrl('Cart', 'Remove', [itemId, view]), {
         method: 'get',
         onSuccess: function(transport) {
            $('cart').update(transport.responseText);
         }
      });
   },
   
   clearCart: function() {
      new Ajax.Request(Albasha.generateUrl('Cart', 'Clear', null), {
         method: 'get',
         onSuccess: function(transport) {
            $('cart').update(transport.responseText);
         }
      });
   },

   generateUrl: function(controller, action, variables) {
      // Tokenize the current location
      var start = location.toString().indexOf('://') + 3;
      var parts = location.toString().substr(start).split('/');

      // Loop over the parts. We're looking for a ".aspx" extension
      // that will indicate a controller. We are looking to see if the
      // application is installed on the server root, or in a subdirectory
      var index = -1;
      var counter = 0;
      parts.each(function(part) {
         if (part.indexOf('.aspx') != -1) {
            index = counter;
         }
         counter++;
      });
      //console.log(index);

      // Determine the prefix
      var prefix = '/';
      if (index != 1 && index != -1) {
         prefix = '/' + parts[index - 1] + '/';
      }
      //console.log(prefix);

      // Generate the url
      var args = '';
      if (variables != null) var args = '/' + variables.join('/');
      var url = prefix + controller + '.aspx/' + action + args;

      return url;
   }
};

Element.observe(window, 'load', function() {
   Albasha.onLoad();
});
