﻿if (Object.isUndefined(Nmma)) { var Nmma = { } };
if (Object.isUndefined(Nmma.Local)) { Nmma.Local = { } };
if (Object.isUndefined(Nmma.Local.Nmma)) { Nmma.Local.Nmma = { } };
if (Object.isUndefined(Nmma.Local.Nmma.Certification)) { Nmma.Local.Nmma.Certification = { } };
if (Object.isUndefined(Nmma.Local.Corporate)) { Nmma.Local.Corporate = { } };

Nmma.Local.Nmma.Generic = {
  view: function(args) {
    var target = args.Target ? args.Target : '';
    if (args.WindowScrollTop) window.scroll(0, 0);
		$(target).update(Nmma.Local.Nmma.Generic.getLoader(args.LoaderHeight ? args.LoaderHeight : ''));
		$(target).show();
    Nmma.Ajax.request(args.Url ? args.Url : '', { 'parameters': { 'arguments': args.Arguments ? args.Arguments : {} },
		  onSuccess: function(response) { if (response.isSuccess()) { $(target).update(response.responseText); } else { alert('Error'); } },
			onFailure: function(response) { alert('Failure'); }
    });
  },
  redirect: function(url) { document.location.href = url; },  
  alternate: function(c) { var b = true; $(c).immediateDescendants().each(function(e) {if (b) $(e).addClassName('alternate'); else $(e).removeClassName('alternate'); b = !b; }); },
  getLoader: function(padding) { return '<div style="text-align:center;"><div class="nmma-loader" style="margin:auto;' + (padding ? 'padding:' + padding + 'px;"' : '"') + '></div></div>'; },
  clear: function(id) { if ($(id)) $(id).update(''); },
  hide: function(id) { if ($(id)) $(id).hide(); },
  show: function(id) { if ($(id)) $(id).show(); },
  focus: function(args) { }
};

Nmma.Local.Corporate.Newsletter = {
  subscribe: function(form, targetErrors) {
    var target = 'divNewsletter';
    var backgroundLayer = new Nmma.ProcessingBackgroundLayer();
    if ($(targetErrors)) $(targetErrors).hide();
    if ($(targetErrors)) $(targetErrors).show();
    Nmma.Ajax.request(Nmma.Forms.BaseUri(), {
      parameters: { 'form': form, 'arguments': { 'ActionType': 'subscribe' } },
		  onSuccess: function(response) {
        backgroundLayer.hide();
		    if (response.isSuccess()) { $(target).update(response.responseText); }
		    else { $(targetErrors).update(response.getErrorsList()); $(targetErrors).show(); }
		  },
			onFailure: function(response) { backgroundLayer.hide(); alert('An error occured while executing your request'); }
    });
  }
};

Nmma.Local.Nmma.Shows = {
  sort: function(args) {
    var target = 'divShows';
    var ascending = true;
    var id = args.Column ? args.Column : 0;
    switch(id)
    {
      case 1:
        $('spanDate').removeClassName('asc'); $('spanDate').removeClassName('desc');
        if ($('spanName').hasClassName('asc')) {
          $('spanName').removeClassName('asc'); $('spanName').addClassName('desc');
          ascending = false;
        }
        else {
          $('spanName').removeClassName('desc'); $('spanName').addClassName('asc');        
        }
        break;
      default:
        $('spanName').removeClassName('asc'); $('spanName').removeClassName('desc');      
        if ($('spanDate').hasClassName('asc')) {
          $('spanDate').removeClassName('asc'); $('spanDate').addClassName('desc');
          ascending = false;
        }          
        else {
          $('spanDate').removeClassName('desc'); $('spanDate').addClassName('asc');        
        }
    }
		$(target).update(Nmma.Local.Nmma.Generic.getLoader());
    Nmma.Ajax.request(Nmma.Forms.BaseUri(), {
      parameters: { 'form': args.Form ? args.Form : '', 'arguments': { 'ActionType': 'sort', 'Column': id, 'Sort': ascending } },
		  onSuccess: function(response) {
		    if (response.isSuccess()) { $(target).update(response.responseText); }
		    else { alert('An error occured while executing your request'); document.location.href = Nmma.Forms.BaseUri(); }
		  },
			onFailure: function(response) { alert('An error occured while executing your request'); document.location.href = Nmma.Forms.BaseUri(); }
    });
  }
};


