jQuery(function () {
  
  jQuery.datepicker.setDefaults({
    dateFormat      : 'dd-mm-yy',
    showOn          : 'button',
    buttonImage     : '/css/gfx/calendar.png',
    buttonImageOnly : true,
    firstDay        : 1,
    dayNames        : ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'],
    dayNamesShort   : ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'],
    dayNamesMin     : ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
    monthNames      : ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december'],
    monthNamesShort : ['jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
    nextText        : 'Næste',
    prevText        : 'Forrige'
  });
 
  jQuery('.datepicker').datepicker();
    
  jQuery('input[type=checkbox].selectorToggle').each( function() {
    var self = jQuery(this);
    if ( self.attr('checked') ) {
      self.nextAll('.selector').hide();
    }
  });
  
  jQuery('.toggle.closed').each( function() {
    var self = jQuery(this);
    var target = self.next('.toggled');
    if (target) {
      self.addClass('closed').removeClass('open');
      target.hide().addClass('closed').removeClass('open');
    }
  } );
  
  jQuery(function() {
    jQuery(".autocomplete.portal").autocomplete({
        source: function(request, response) {
            jQuery.ajax({
                url: '/base/access/AutocompletePortal/' + encodeURIComponent(request.term) + '.aspx',
                dataType: "json",
                success: function(data) {
                    response(jQuery.map(data, function(item) {
                        return {
                            value: item.Name
                        }
                    }))
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) { }
            });
        },
        minLength: 3
    });
  });
  
  function asp_net_beginRequest (sender, args){
    jQuery('#pleaseWait').show();
  }
  
  function asp_net_endRequest (sender, args) { 
    jQuery('#pleaseWait').hide();
  }
  
  Sys.WebForms.PageRequestManager.getInstance().add_beginRequest( asp_net_beginRequest );
    
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest( asp_net_endRequest ); 
    
  readyUploadFields();
  
});

function readyUploadFields() {

  jQuery('.fileUploader').createUploader(
    {
      template: '<div class="qq-uploader">' + 
                '<div class="qq-upload-drop-area"><span>Træk kartotek her for at opdatere</span></div>' +
                '<div class="qq-upload-button">Overfør nyt kartotek</div>' +
                '<ul class="qq-upload-list"></ul>' + 
                '</div>',
      fileTemplate: '<li>' +
                    '<span class="qq-upload-file"></span>' +
                    '<span class="qq-upload-spinner"></span>' +
                    '<span class="qq-upload-size"></span>' +
                    '<a class="qq-upload-cancel" href="#">Anuller</a>' +
                    '<span class="qq-upload-failed-text">Fejl</span>' +
                    '</li>',
      handlerUrl: '/base/kulorbar_customerarchive/UpdateArchive.aspx',
      onSubmit: function (id, e2, e3, e4){
        jQuery('#uploadFile').addClass('uploading');
      },
      onComplete: function (id, fileName, responseJSON) {
        jQuery('#uploadFile').removeClass('uploading');
        if(responseJSON.success && fileName) {
          var statusArea = jQuery(jQuery(this.element).find('.'+this.classes.list).children()[id]).append('<span class="upload-status">'
                                                                                                          + responseJSON.created + " oprettet, "
                                                                                                          + responseJSON.updated + " opdateret, "
                                                                                                          + responseJSON.removed + " fjernet, "
                                                                                                          + responseJSON.failed  + " fejlet</span>");
        }
      }
    });
}

jQuery('.toggle').live('click', function() {
  var self = jQuery(this);
  var target = self.next('.toggled');
  if (target) {
    target.toggle('fast'); 
    self.toggleClass('closed').toggleClass('open');
    target.toggleClass('closed').toggleClass('open');
  }
});

jQuery('.list .showDetails').live('click', function () {
  var details = jQuery(this).next('.details');
  if (details[0]) {
    details.openModalWindow( {
      backgroundOpacity: 0.8,
      backgroundBackground: '#526b7c',
    } );
  }
  return false;
});

jQuery('.details .close').live('click', function () {
  jQuery(this).closeModalWindow();
  return false;
});

jQuery('.button.delete').live( 'click', function(e) {
  var self = jQuery(this);
  var text = self.attr('confirmText');
  
  if (text == undefined) {
    text = "Er du sikker på du vil slette?";
  }  
  return confirm(text);
});

jQuery('input[type=checkbox].selectorToggle').live( 'change', function() {
  var self = jQuery(this);
  if (!self.attr('checked')) {
    self.nextAll('.selector').show();
  } else {
    self.nextAll('.selector').hide(); 
  }
} );

jQuery('.status, .status *').live('click', function() { 
  jQuery(this).hide('fast');
});
