
DispatchReport = {

  keypressed: null,    
  url: null,

  init: function (options) {
    $(document).bind('report_rebind', this.rebind);
	$(document).trigger('report_rebind');
  },

  rebind: function () {
    $('#begin').change(DispatchReport.onChange);
    $('#end').change(DispatchReport.onChange);
    $('.mlist').change(DispatchReport.onChange);
    $('.report-order').click(DispatchReport.onOrderClick);
    $('.page-link').click(DispatchReport.onPageClick);
    $('#prev_page_link').click(DispatchReport.onNextPrevClick);
    $('#next_page_link').click(DispatchReport.onNextPrevClick);
    $('.per-page-link').click(DispatchReport.onPerPageClick);
    $('.view-actions-layer-report').click(DispatchReport.actions);

	$(document).bind('keydown', 'ctrl+right', function (evt){
		if (DispatchReport.keypressed == null) {
			DispatchReport.url = '#next_page_link';
			DispatchReport.keypressed = setTimeout(DispatchReport.press,300);
		}
		return false;
	});
	$(document).bind('keydown', 'ctrl+left', function (evt){
		if (DispatchReport.keypressed == null) {
			DispatchReport.url = '#prev_page_link';
			DispatchReport.keypressed = setTimeout(DispatchReport.press,300);
		}
		return false;
	});

	$('.photo-layer-show').mouseenter(function () {
    	var container = $('.photo'+$(this).attr('rel'));
    	if (container.length > 0) {
    		var pos = $(this).position();
    		container.css('top', (pos.top+$(this).height())+'px');
    		container.css('left', (pos.left+$(this).width())+'px');
    		container.show();
    	}
    	return false;
    });
    $('.photo-layer-show').mouseleave(function () {
    	var container = $('.photo'+$(this).attr('rel'));
    	if (container.length > 0) {
    		container.hide();
    	}
    	return false;
    });
    $('.all-managers').click(function () {
      var all = true;
      $('.mlist').each(function () {
    	  if ($(this).attr('checked') == false) all = false;
      });
      $('.mlist').attr('checked', !all);
      DispatchReport.onChange();
      return false;
    });
  },

  press: function () {
  	$(DispatchReport.url).trigger('click');
  	DispatchReport.keypressed = null;
  },

  actions: function () {
    console.log('here');
    var container = $(this).siblings('.actions-layer');
    if (!$(this).hasClass('my-action')) {
      var pos = $(this).position();
      container.css('top', pos.top+'px');
      container.css('left', pos.left+'px');
    }
    container.toggle();
    return false;
  },

  onChange: function () {
    var params = DispatchReport.getParams();
    DispatchReport.load(params);
  },

  onOrderClick: function () {
    var params = DispatchReport.getParams();
    var clck = $(this).attr('rel');
    var cur = $('.current-order-by').text().split('_');
    var param = clck+'_asc';
    if (clck == cur[0]) {
      if (cur[1] == 'asc') param = clck+'_desc'; else param = clck+'_asc';
    }
    params['order_by'] = param;
    DispatchReport.load(params);
    return false;
  },

  onPageClick: function () {
    var params = DispatchReport.getParams();
    params['page'] = $(this).text();
    DispatchReport.load(params);
    return false;
  },

  onNextPrevClick: function () {
    var params = DispatchReport.getParams();
    params['page'] = $(this).attr('rel');
    DispatchReport.load(params);
    return false;
  },

  onPerPageClick: function () {
    var params = DispatchReport.getParams();
    params['onpage2'] = $(this).attr('rel');
    DispatchReport.load(params);
    return false;
  },

  load: function (params) {
    $.ajax({url: '', type: 'POST', cache: false, async: false, data: params, success: function () {return function (reply) {
      $('.report-content').replaceWith(reply);
      $(document).trigger('report_rebind');
    }}(this)});
  },

  getParams: function () {
    var result = {};
    result['begin'] = $('#begin').val();
    result['end'] = $('#end').val();
    result['managers'] = [];
    var tmp = $('.mlist');
    for (var i = 0;i < tmp.length;i++) if ($(tmp[i]).attr('checked') == true) result['managers'].push($(tmp[i]).val());
    result['order_by'] = $('.current-order-by').text();
    result['page'] = $('.current-page').text();
    result['onpage2'] = $('.current-onpage').text();
    return result;
  }
};

DispatchReportDispatch = {

  keypressed: null,
  url: null,

  init: function (options) {
    $(document).bind('report_rebind', this.rebind);
	$(document).trigger('report_rebind');
  },

  rebind: function () {
    $('#begin').change(DispatchReportDispatch.onChange);
    $('#end').change(DispatchReportDispatch.onChange);
    $('.page-link').click(DispatchReportDispatch.onPageClick);
    $('#prev_page_link').click(DispatchReportDispatch.onNextPrevClick);
    $('#next_page_link').click(DispatchReportDispatch.onNextPrevClick);
    $('.per-page-link').click(DispatchReportDispatch.onPerPageClick);
	$(document).bind('keydown', 'ctrl+right', function (evt){
		if (DispatchReportDispatch.keypressed == null) {
			DispatchReportDispatch.url = '#next_page_link';
			DispatchReportDispatch.keypressed = setTimeout(DispatchReportDispatch.press,300);
		}
		return false;
	});
	$(document).bind('keydown', 'ctrl+left', function (evt){
		if (DispatchReportDispatch.keypressed == null) {
			DispatchReportDispatch.url = '#prev_page_link';
			DispatchReportDispatch.keypressed = setTimeout(DispatchReportDispatch.press,300);
		}
		return false;
	});
  },

  press: function () {
  	$(DispatchReportDispatch.url).trigger('click');
  	DispatchReportDispatch.keypressed = null;
  },

  onChange: function () {
    var params = DispatchReportDispatch.getParams();
    DispatchReportDispatch.load(params);
  },

  onPageClick: function () {
    var params = DispatchReportDispatch.getParams();
    params['page'] = $(this).text();
    DispatchReportDispatch.load(params);
    return false;
  },

  onNextPrevClick: function () {
    var params = DispatchReportDispatch.getParams();
    params['page'] = $(this).attr('rel');
    DispatchReportDispatch.load(params);
    return false;
  },

  onPerPageClick: function () {
    var params = DispatchReportDispatch.getParams();
    params['onpage2'] = $(this).attr('rel');
    DispatchReportDispatch.load(params);
    return false;
  },

  load: function (params) {
    $.ajax({url: '', type: 'POST', cache: false, async: false, data: params, success: function () {return function (reply) {
      $('.report-content').replaceWith(reply);
      $(document).trigger('report_rebind');
    }}(this)});
  },

  getParams: function () {
    var result = {};
    result['begin'] = $('#begin').val();
    result['end'] = $('#end').val();
    result['page'] = $('.current-page').text();
    result['onpage2'] = $('.current-onpage').text();
    return result;
  }
};

$(document).ready(function () {
// размер
	if ($('.drop-place').length > 0) $('.item-block').height($('.left-column').height()-254);
// всё остальное
	$('#select-all-subs').click(function () {
		var checked = $(this).attr('checked');
		$('.subscr-checkbox').each(function () {
			$(this).attr('checked', checked);
		});
	});

  error_timeout = null;
  error_container = null;

  var draggable_options = {
//    handle: 'a.dnd-link',
    cancel: "a.ui-icon",
    revert: "invalid",
    containment: "document",
    helper: "clone",
    cursor: "move",
    zIndex: 2000,
    appendTo: 'body'
  };

  var slider_options  = {
    containment: "parent",
    cursor: "move",
    drag: sliderMove
  }

  var droppable_options = {
    accept: '.drag-n-drop',
    hoverClass: 'ui-state-highlight',
    drop: function( event, ui ) {
      dropComplete(ui.draggable, event.target);
    }
  };
  
  var droppable_options_ret = {
    accept: '.attached',
    hoverClass: 'ui-state-highlight',
    drop: function( event, ui ) {
      dropretComplete(ui.draggable, event.target);
    }
  };  

  $(function(){

  if( $('script[src="/js/jquery-ui-1.8.14.custom.min.js"]').length)
    $('.item-block').droppable(droppable_options_ret);  
  });

  $('.clear').click(clearPalette);  
  
  function clearPalette() {

   $.ajax({url: '/dispatch/palette/clear', async: false, cache: false, success: function () {
	}});
   $.ajax({url: '/dispatch/addForm?draggable=1', async: false, cache: false, success: function (data) {
   	 	 column_height = $('.in-right-column .item-block').height();
        $('.in-right-column').replaceWith(data);
        $('.in-right-column .item-block').css('height', column_height);
      $(document).trigger('item_added');
      $('.category-toggle a').click(togglePaletteCategory);
      $('.item-block').droppable(droppable_options_ret);
     }});
     
     return false;     
  } 

  function dropretComplete(item, drop_place) {
    var data = $(item).find('.product_block').attr('rel').split('|');
    var empty = $(drop_place).children().length > 0?false:true;
   $(item).find('.delete-from-fill').click();
 	 
   $.ajax({url: '/dispatch/palette/'+ data[0] + '/' + data[1], async: false, cache: false, success: function () {
	}});
   $.ajax({url: '/dispatch/addForm?draggable=1', async: false, cache: false, success: function (data) {
   	 	 column_height = $('.in-right-column .item-block').height();
        $('.in-right-column').replaceWith(data);
        $('.in-right-column .item-block').css('height', column_height);
      $(document).trigger('item_added');
      $('.category-toggle a').click(togglePaletteCategory);
      $('.item-block').droppable(droppable_options_ret);
     }});     
  }
  
  
 
  
  email_toggle = null;

  $(document).bind('product_loaded', function () {$('.toggle-dispatch').unbind('click');$('.toggle-dispatch').click(toggleDispatch);});

  $(document).bind('item_added', function () {
    $('#add-item form').submit(addItemSubmit);
    $('.add-item-link').click(addItemToggle);
    $('.clear').click(clearPalette);    
    sliderSize();
    
    $('.scroll-mover').draggable(slider_options);
    $('.item-block').mousewheel(paletteMousewheel);
    if ($('.delete-from-fill').length) $('.delete-from-fill').click(deleteFill);
    if ($('.item-in-palette').length) $('.item-in-palette').draggable(draggable_options);
    if ($('.delete-link').length) $('.delete-link').click(deletePalette);
  });

  $(document).bind('item_edited', function () {
    $('#edit-item form').submit(editItemSubmit);
  });

  $('.dispatch-emails-list li a').click(toggleUse);
  $('.other-email-container li a').click(toggleUse);
  if ($('.item-in-palette').length) $('.item-in-palette').draggable(draggable_options);
//if ($('.drop-place').length) $('.drop-place').draggable(draggable_options);
  if ($('.drop-place').length) $('.drop-place').droppable(droppable_options);
  if ($('.delete-from-fill').length) $('.delete-from-fill').click(deleteFill);
  if ($('.delete-link').length) $('.delete-link').click(deletePalette);
  if ($('.scroll-mover').length) {
  	sliderSize();
  	$('.scroll-mover').draggable(slider_options);
  	$('.item-block').mousewheel(paletteMousewheel);
  }
  $('.toggle-dispatch').click(toggleDispatch);
  if ($('.in-layer-subscribe').length) $('#subscribe-form').submit(subscribe);
  if ($('.category-toggle a').length) $('.category-toggle a').click(togglePaletteCategory);
  $('#add-item form').submit(addItemSubmit);
  $('#edit-item form').submit(editItemSubmit);
  $('.add-item-link').click(addItemToggle);
  $('.more-emails').click(moreEmails);
  $('input[name=find_address]').click(findEmails);
  $('.edit-bulk-action').click(editBulkAction);
  $('.view-all-emails').click(moreEmails);
  $('.new-subscriber').submit(submitNewSubscriber);
    $('.tab-toggle').click(tabToggle);
  $('.tab-toggle-view').click(tabToggle);
  $('.info-click').click(viewInfo);
  $('.index-date-form').submit(tabToggleSubmit);
  $('.view-actions-layer').click(actionsLayerView);

  if ($('#template-layer').length) {
    $('#template-layer').sortable({items: 'div.ctc', update: sortableChange});
    $('#template-layer').disableSelection();
      $('input[name=holiday_title]').bind('mousedown.ui-disableSelection selectstart.ui-disableSelection', function(event) {
      event.stopImmediatePropagation();
    }); //dirty 
    $('.ctc').click(templateItemClick);
    $('.ctc-in').click(paletteItemClick);    
  }
  
  function sortableChange(evt, ui) {
    var max = 0;
    $('.ctc').each(function () {
      if ($(this).attr('rel')-0 > max) max = $(this).attr('rel')-0;
    });
    var min = max;
    $('.ctc').each(function () {
      if ($(this).attr('rel')-0 < min) min = $(this).attr('rel')-0;
    });
    var els = $('.ctc');
    var data = [];
    for (var i = 0;i < els.length;i++) {
      $(els[i]).attr('rel', min);
      data.push(min+'|'+$(els[i]).find('.product_block').attr('rel'));
      min++;
    }
    $.ajax({url: '', data: {'sort': data.join('_')}, cache: false});
  }

  function templateItemClick() {
    if (!$(this).hasClass('enabled-click')) {
      $('.ctc').removeClass('enabled-click');
      $(this).addClass('enabled-click');
    } else {
      $('.ctc').removeClass('enabled-click');
    }
    onPair();
    return false;
  }

  function paletteItemClick() {
    if (!$(this).hasClass('enabled-click')) {
      $('.ctc-in').removeClass('enabled-click');
      $(this).addClass('enabled-click');
    } else {
      $('.ctc-in').removeClass('enabled-click');
    }
    onPair();
    return false;
  }
  
  //----- half
  function onPair() {
    if (!($('.ctc').hasClass('enabled-click') && $('.ctc-in').hasClass('enabled-click'))) return;
    var drop_place = $('.ctc.enabled-click');
    var item = $('.ctc-in.enabled-click');
    var data = item.attr('rel').split('|');
    var empty = $(drop_place).children().length > 0?false:true;
    var type = data[0];
    var idx = data[1];
    var rank = $(drop_place).attr('rel');
    $.ajax({url: $('.palette-item-drop').text(), data: {idx: idx, type: type, rank: rank}, cache: false, success: function (data) {
      $(drop_place).replaceWith(data);
      $('#template-layer').sortable({items: 'div.ctc', update: sortableChange});
      $('#template-layer').disableSelection();
      $('input[name=holiday_title]').bind('mousedown.ui-disableSelection selectstart.ui-disableSelection', function(event) {
      event.stopImmediatePropagation();
    }); //dirty 
      $('.t'+rank).droppable(droppable_options);
      $('.t'+rank).click(templateItemClick);
      $('.t'+rank).find('.delete-from-fill').click(deleteFill);
      if (empty) $('.t'+rank).addClass('attached');
      $('.ctc-in').removeClass('enabled-click');
      $('.ctc').removeClass('enabled-click');
//      $('.ctc').click(templateItemClick);
      $(item).parents('li').remove();
      sliderSize();
    }});
  }

  function actionsLayerView() {
    var container = $(this).siblings('.actions-layer');
    //if (!$(this).hasClass('my-action')) {
      var pos = $(this).position();
      container.css('top', pos.top+'px');
      container.css('left', pos.left+'px');
  //  }
    container.toggle();
    return false;
  }

  function viewInfo(evt) {
	var cont = $('.info'+$(this).attr('rel'));
	cont.css('top', ($(this).position().top + 7) + 'px');
	cont.css('left', ($(this).position().left+7)+'px');
	cont.toggle();
	return false;
  }

  function tabToggle() {
    var url = $(this).attr('href');
    var clz = 'tab-toggle';
    if ($(this).hasClass('tab-toggle-view')) clz = 'tab-toggle-view';
    $.ajax({url: url, aync: false, cache: false, success: function (data) {
      $('.ready-dispatch').replaceWith(data);
      $('.'+clz).click(tabToggle);
      $('.index-date-form').submit(tabToggleSubmit);
      $('.info-click').click(viewInfo);
      $('.view-actions-layer').click(actionsLayerView);
    }});
    return false;
  }

  function tabToggleSubmit() {
    data = {begin: $('#begin').val(), end: $('#end').val()};
    $.ajax({url: $('.index-date-url').text(), aync: false, data: data, cache: false, success: function (data) {
      $('.ready-dispatch').replaceWith(data);
      if ($('.tab-toggle').length) $('.tab-toggle').click(tabToggle); else $('.tab-toggle-view').click(tabToggle);
      $('.index-date-form').submit(tabToggleSubmit);
      $('.info-click').click(viewInfo);
      $('.view-actions-layer').click(actionsLayerView);
    }});
    return false;
  }

  function errorFadeOut() {
	error_timeout = null;
	$(error_container).fadeOut();
	error_container = null;
  }
  
  function viewError(err_text, container, ok) {
  	if (error_timeout != null) clearTimeout(error_timeout);
    $(container).text(err_text).removeClass('green');
    if (ok == true) $(container).addClass('green');
    $(container).fadeIn();
    error_container = container;
    error_timeout = setTimeout(errorFadeOut, 3000);
  }

  function addItemToggle() {
    $('#add-item').toggle();
    if ($('#add-item').css('display') != 'none') $(this).parents('.selector').addClass('selector-act'); else $(this).parents('.selector').removeClass('selector-act');
    return false;
  }

  function addItemSubmit() {
	var fields = [];
	var init = this;
  if ($.trim($('#dispatch_item_title').val()) == '') fields.push('заголовок');
	if ($.trim($('#dispatch_item_company').val()) == '') fields.push('компания');
	if ($.trim($('#dispatch_item_price').val()) == '') fields.push('цена');
	if ($.trim($('#dispatch_item_sku').val()) == '') fields.push('артикул');
	if (fields.length > 0) {
		viewError('Не заполнены обязательные поля '+fields.join(', '), '.add-form-error', false);
    return false;
	} else {
    AIM.submit(
      init,
      {'onStart': addItemStart,  'onComplete': addItemComplete }
    );		
    
    
    
    //$(this).ajaxSubmit({
	  //      success: function(data) {
	  //      	$('.in-right-column').replaceWith(data);
	  //      	$(document).trigger('item_added');
	  //      }
	  //  });
	}
//	return false;
  }
  
  function addItemStart() {
  return true;
  }

  function addItemComplete(data) {
    $('.in-right-column').replaceWith(data);
	  $(document).trigger('item_added');
  }

  function editItemSubmit() {
    AIM.submit(
      this,
      {'onStart': addItemStart,  'onComplete': editItemComplete }
    );   
   
   // $(this).ajaxSubmit({
   //     success: function(data) {
   //     	$('#edit-item').replaceWith(data);
   //     	$(document).trigger('item_edited');
   //     }
   // });
	//return false;
  }
  
  function editItemComplete(data) {
    $('#edit-item').replaceWith(data);
   	$(document).trigger('item_edited');  
  }

  function validateEmail(email) {
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if ($.trim(email) == '') return 'Вы не ввели email.';
	if (!filter.test(email)) return 'Вы ввели неверный email.';
	return true;
  }

  function subscribe() {
  	$.ajax({url: $('.subscribe-url').text(), data: $('#subscribe-form').serialize(), async: false, cache: false, type: "POST", success: function (data) {
      $('.layer-subscribe').replaceWith(data);
      bindCaptchaItems();
      $('#subscribe-form').submit(subscribe);
   	}});
  	return false;
  }

  function toggleDispatch() {
	var idx = $(this).attr('rel');
	var items = $('.i'+$(this).attr('rel'));
	$(items).parent().find('.loader').show();
	$(items).hide();
	$.ajax({url: $(this).attr('href'), async: false, cache: false, success: function () {
		if ($(items.get(0)).text() == 'В палитру') {
			$(items).find('i').text('Убрать из палитры');
			$(items).addClass('grey');
		} else {
			$(items).find('i').text('В палитру');
			$(items).removeClass('grey');
		}
		$(items).parent().find('.loader').hide();
		$(items).show();
	}
	});
	return false;
  }

  function dropComplete(item, drop_place) {
    var data = $(item).find('.product_block').attr('rel').split('|');
    var empty = $(drop_place).children().length > 0?false:true;
    if($(drop_place).hasClass('attached')) {
      var attached_data = $(drop_place).find('.product_block').attr('rel').split('|');
      var type_attached = attached_data[0];
      var indx_attached = attached_data[1];
    }
    var type = data[0];
    var idx = data[1];
    var rank = $(drop_place).attr('rel');
    $.ajax({url: $('.palette-item-drop').text(), data: {idx: idx, type: type, rank: rank}, cache: false, success: function (data) {
      $(drop_place).replaceWith(data);
      $('#template-layer').sortable({items: 'div.ctc', update: sortableChange});
      $('#template-layer').disableSelection();
      $('input[name=holiday_title]').bind('mousedown.ui-disableSelection selectstart.ui-disableSelection', function(event) {
      event.stopImmediatePropagation();
    }); //dirty 
      $('.t'+rank).droppable(droppable_options);
      $('.t'+rank).find('.delete-from-fill').click(deleteFill);    
      if (empty) {
        $('.t'+rank).addClass('attached');
      }
      if(type_attached && indx_attached) {
         
          $.ajax({url: '/dispatch/palette/'+ type_attached + '/' + indx_attached, async: false, cache: false, success: function () { } } );
          $.ajax({url: '/dispatch/addForm?draggable=1', async: false, cache: false, success: function (data) {
       	  column_height = $('.in-right-column .item-block').height();
          $('.in-right-column').replaceWith(data);
          $('.in-right-column .item-block').css('height', column_height);   	 	    
          $(document).trigger('item_added');
          $('.item-block').droppable(droppable_options_ret);
        }});         
      }


      if( $(item).parents('ul').find('li').size() == 1 ) {
        category = $(item).parents('ul').attr('class').split(/\s+/);
        $('a[rel='+category[1]+']').parent().remove();
        $(item).parents('ul').remove();       
      } else {
        $(item).parents('li').remove();

      }
      sliderSize();
      $(document).trigger('item_added');
    }});
  }

  function deleteFill() {
    var container = $(this).parents('.drop-place');
    var rank = container.attr('rel');
    $.ajax({url: $('.fill-delete').text(), data: {rank: rank, dispatch: $(this).attr('rel')}, cache: false, async: false, success: function (data) {
      container = container.replaceWith(data);
      $('.t'+rank).droppable(droppable_options);
      $('.t'+rank).find('.delete-from-fill').click(deleteFill);
    }});
    return false;
  }

  function togglePaletteCategory() {
	$('.'+$(this).attr('rel')).toggle();
	sliderSize();
	return false;
  }

  function deletePalette() {
   
    var container = $(this);//.parents('li');
	  var data = container.parents('li').find('.product_block').attr('rel').split('|');
    var type = data[0];
    var idx = data[1];
    $.ajax({url: '/dispatch/deletePalette', data: {type: type, idx: idx}, cache: false, success: function (data) { 
       if( container.parents('ul').find('li').size() == 1 ) {
         category = container.parents('ul').attr('class').split(/\s+/);
         $('a[rel='+category[1]+']').parent().remove();
         container.parents('ul').remove();       
       } else {
         container.parents('li').remove();
       }  
      sliderSize();
    }});
    return false;
  }

  function sliderMove(event, ui) {
    var slider = $(event.target);
    var ssz = slider.parent().height();
	var csz = $('.scroll-content').height();
	var top = slider.css('top').replace('px', '');
	$('.scroll-content').css('margin-top', csz/ssz*top*-1+'px');
  }

  function sliderSize() {
    var ssz = $('.scroll-mover').parent().height();
	var csz = $('.scroll-content').height();
	var vsz = $('.item-block').height();
	if (ssz/csz >= 1) $('.scroll-mover').hide(); else $('.scroll-mover').css('height', vsz*ssz/csz+'px').show();
  }
  
  function paletteMousewheel(event, delta) {
	var step = 100;
    var ssz = $('.scroll-mover').parent().height();
	var csz = $('.scroll-content').height();
	var vsz = $('.item-block').height();
	var offset = $('.scroll-content').css('margin-top').replace('px', '') - 0;
	if (delta < 0) offset -= step; else offset += step;
	if (csz - vsz < -1*offset) offset = -1*(csz - vsz);
	if (offset*-1 < 0) offset = 0;
	$('.scroll-content').css('margin-top', offset+'px');
	$('.scroll-mover').css('top', offset*ssz/csz*-1);
	event.preventDefault();
  }

  function moreEmails() {
	var count_emails = $('.dispatch-emails-list li').length;
	var url = '?offset='+count_emails;
	if ($(this).hasClass('view-all-emails')) url = url + '&all=1';
	$.ajax({url: url, async: false, cache: false, dataType: 'json', success: function (reply) {
	  var txt = '<li><a href="#" rel="#!id"#!active>#!email</a></li>';
      for (var i = 0;i < reply.length;i++) {
    	var t = txt.replace('#!id', reply[i]['id']).replace('#!active', reply[i]['active']?' class="active"':'').replace('#!email', reply[i]['email']);
    	$('.dispatch-emails-list').append(t);
      }
      $('.dispatch-emails-list li a').unbind('click').click(toggleUse);
      var all = $('.all-count').text() - 0;
      if (count_emails+reply.length == all) {
    	$('.more-emails').unbind('click').hide();
    	$('.view-all-emails').remove();
      }
	}});
	return false;
  }

  function findEmails() {
   	 var url = "/dispatch/findAddress/"+$(this).attr('rel'); 
     var query = $('#address_search_query').val();
     if(!query) return false;
     $.ajax({url: url, data: { query: query } ,async: false, cache: false, dataType: 'html', 
     
     success: 
     function (reply) { 
      $('.address_search .results').html(reply);
      $('.dispatch-emails-list li a').unbind('click').click(toggleUse); 
      }
    });
   }
  
  function editBulkAction() {
	var action = $(this).attr('rel');
	var url = '?act='+action;
	$.ajax({url: url, async: false, cache: false, dataType: 'json', success: function (reply) {
	  if (reply == 'ok') {
		$('.dispatch-emails-list li a').each(function () {
		   if (action == 'subscribe' && !$(this).hasClass('active')) $(this).addClass('active');
		   if (action == 'unsubscribe' && $(this).hasClass('active')) $(this).removeClass('active');
		});
		$('.other-email-container li a').each(function () {
		   if (action == 'subscribe' && !$(this).hasClass('active')) $(this).addClass('active');
		   if (action == 'unsubscribe' && $(this).hasClass('active')) $(this).removeClass('active');
		});		
		
	  }
	}});
	return false;
  }

  function submitNewSubscriber() {
    var email = $('#subscribers_email').val();
    var company = $('#subscribers_company').val();
    var valid = validateEmail(email);
    if (valid == true) {
      $.ajax({url: window.location, data: {subscribers : {email: email, company: company}}, async: false, cache: false, dataType: 'json', success: function (data) {
        if (data == 'ko') {
          viewError('Такой e-mail уже существует.', '.other-emails form .error', false);
        } else {
      	  var txt = '<li><a href="#" rel="#!id"#!active>#!email</a> <small>#!company</small></li>';
          var t = txt.replace('#!id', data['id']).replace('#!active', data['active']?' class="active"':'').replace('#!email', data['email']).replace('#!company',data['company'] ? '('+data['company']+')' : '');
          $('.other-email-container').append(t);
          $('.other-email-container li a').unbind('click').click(toggleUse);
        }
	  }});
    } else {
      viewError(valid, '.other-emails form .error', false);
    }
    return false;
  }

  function toggleUse() {
	if (email_toggle == true) return false;
	email_toggle = true;
    var url = $('.toggle-email').text();
    var idx = $(this).attr('rel');
    
    var el = $('a[rel='+idx+']').parent();
    //var el = $(this).parent();
    var parent = $(el).parent();
    $.ajax({url: url, data: {id: idx}, async: false, cache: false, dataType: 'json', success: function (data) {
	  var txt = '<li><a href="#" rel="#!id"#!active>#!email</a> <small>#!company</small></li>';
      var t = txt.replace('#!id', data['id']).replace('#!active', data['active']?' class="active"':'').replace('#!email', data['email']).replace('#!company',data['company'] ? '('+data['company']+')' : '');
      var result = $(el).replaceWith(t);
      
      $(parent).find('a').unbind('click').click(toggleUse);
      email_toggle = null;
    }});
    return false;
  }
});

$(function() {
$('input[name=holiday_title]').click(function(e) {
 return true;
} );
});

