$(document).ready(function() {

  $(".events .scrollable .event").bind('click', function() {
		$('#keyvisual_wrap').fadeOut();
	});
	
	$(".events .scrollable").scrollable({ 
	    item: 'div.event', 
	    speed: 500,	
		size: 4
	});
	
	if ($(".monthes .scrollable").html()) {
		$(".monthes .scrollable").scrollable({
			item: 'div.item', 
			speed: 500,
			size: 5
		});
	  //var activeIndex = $(".monthes .scrollable .active").
    //alert(activeIndex);  
	}
	
	// Scroll events and monthes to default positions
	if ($(".events .scrollable").html()) {
		$(".events .scrollable").scrollable().seekTo($('.event').index($('.events .event.active')));
	  	var regXp1 = new RegExp('month_(\\d+)_year_(\\d+)');
	  	var regExpResults1 = regXp1.exec($('.events .event.active').attr('class'));
	  	var shownEventMonthClass = regExpResults1[0]; 
	  	$(".monthes .scrollable").scrollable().click($(".monthes .item").index($(".monthes #" + shownEventMonthClass)));
  	}
	
	// Если в подменю нет элементов, скрываем блок подменю
	if (!$('.hmenu2 .wrap').html()) {
		$('.hmenu2').css('display', 'none');	
	}	
	
	if ($('.news-list-container').html()) {
		$('.news-list-container .news-list-item:last').css({border: 0, margin: 0});		
	}
	// Set shown event number to 0 by default and run switch events interval 
	if ($(".events .scrollable").html()) {
	   //shownEventNumber = 0;
	   //eventsSwitchInterval = setInterval('showNextEvent()', 10000);
	}
	
	// Next/previous buttons of events browser
	$('.next2').fadeTo('fast', 0.2);
	$('.next2').bind('mouseenter', function(e) {
		$(this).fadeTo(200, 1);
	});
	$('.next2').bind('mouseleave', function(e) {
		$(this).fadeTo(200, 0.2);
	});
	$('.prev2').fadeTo('fast', 0.2);
	$('.prev2').bind('mouseenter', function(e) {
		$(this).fadeTo(200, 1);
	});
	$('.prev2').bind('mouseleave', function(e) {
		$(this).fadeTo(200, 0.2);
	});
	
		// Event map initialization
		lastZIndex = 2;
		
		if ($(".seminar-single-map").html()) {  
	    
	    $('.seminar-single-company-mark').bind('mouseenter', function() {
	      var mapMarkElement = $(this).get(0); 
	      showMapTooltip(mapMarkElement, $(this), false); 
	    });
	    
	    $('.seminar-single-company-mark').bind('mouseleave', function() {
	      var mapMarkElement = $(this).get(0);
	      hideMapTooltip(mapMarkElement);
	    });
	    
	    $('.seminar-single-company-mark').bind('click', function() {
	      var mapMarkElement = $(this).get(0); 
	      showMapTooltip(mapMarkElement, $(this), true); 
	    });
	}
	$('.banner').css('display', 'none');
	var firstBanner = $('.banner.active');
	if ($(firstBanner).html()) {
		$(firstBanner).addClass('active');
		$(firstBanner).css('display', 'block');
		
		setInterval( function() { 
			if (!$('.banner.active').next().html()) {
				var nextBanner = $('.banner:first');
			} else {
				var nextBanner = $('.banner.active').next();
			}
			var activeBanner = $('.banner.active'); 
			$(activeBanner).css('display', 'none');
			$(activeBanner).removeClass('active');
			$(nextBanner).addClass('active');
			$(nextBanner).css('display', 'block');
		}, 38000);
	}
	
	
	// Scrollable content on expo page
	if ($(".seminars-trans-inexpotv-scrollable .scrollable").html()) {
		$(".seminars-trans-inexpotv-scrollable .scrollable").scrollable({
			item: 'div.seminars-trans-inexpotv-scrollable-item', 
			speed: 500,
			size: 3
		});
	}
	
	if ($(".seminars-trans-bigphotos .scrollable").html()) {
		$(".seminars-trans-bigphotos .scrollable").scrollable({
			item: 'div.seminars-trans-bigphoto-item', 
			speed: 500,
			size: 1
		});
	}
	
	if ($(".company-services-photos .scrollable").html()) {
		$(".company-services-photos .scrollable").scrollable({
			item: 'div.company-services-photo-item', 
			speed: 500,
			size: 1
		});
	}
	
	if ($(".seminars-trans-albums .scrollable").html()) {
		$(".seminars-trans-albums .scrollable").scrollable({
			item: 'div.seminars-trans-album-item', 
			speed: 500,
			size: 4
		});
	}
	
	// Show pages of company page depend on URL
	if (window.location.href.indexOf('#page_text') != -1) {
		$('.company-single-block').css('display', 'none');
		$('#company_single_block_1').css('display', 'block');
		$('.submenu-li').removeClass('active');
		$('#submenu_li_1').addClass('active');
	}
	
	if (window.location.href.indexOf('#page_contacts') != -1) {
		$('.company-single-block').css('display', 'none');
		$('#company_single_block_3').css('display', 'block');
		$('.submenu-li').removeClass('active');
		$('#submenu_li_3').addClass('active');
	}

});

function scrollPrevMonth() {
	if ($('.monthes .items .item.active').prev().html()) {
		var prevMonthId = $('.monthes .items .item.active').prev().attr('id');
		
		// get month and year of selected next item
		$('.events .event.active').removeClass('active');
	    //var nextMonthId = $(caller).attr('id');
	    var evtt = $("." + prevMonthId + ':first');
	    $(evtt).addClass('active');
	    var shownId = $(evtt).attr('id');
	    var regXp = new RegExp('event_(.+)');
	    var regExpResults = regXp.exec(shownId);
	    var shownEventId = regExpResults[1];
	    
	    $(".events .scrollable").scrollable().seekTo($('.event').index(evtt));
	    ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
		 
		//ss_inexpo_content_displayEventsList('events_list', 0, month, year);
		
		$('#keyvisual_wrap').fadeOut(500);
		
		$('.monthes .scrollable').scrollable().click($('.monthes .scrollable').scrollable().getClickIndex() - 1); 
		return true;
	} else {
		return false;
	}
}  

function scrollNextMonth() {
	if ($('.monthes .items .item.active').next().html()) {
    	var nextMonthId = $('.monthes .items .item.active').next().attr('id');
		
		// get month and year of selected next item
		$('.events .event.active').removeClass('active');
	    //var nextMonthId = $(caller).attr('id');
	    var evtt = $("." + nextMonthId + ':first');
	    $(evtt).addClass('active');
	    var shownId = $(evtt).attr('id');
	    var regXp = new RegExp('event_(.+)');
	    var regExpResults = regXp.exec(shownId);
	    var shownEventId = regExpResults[1];
	    
	    $(".events .scrollable").scrollable().seekTo($('.event').index(evtt));
	    ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
			 
			//ss_inexpo_content_displayEventsList('events_list', 0, month, year);
			
		$('#keyvisual_wrap').fadeOut(500);
		
		$('.monthes .scrollable').scrollable().click($('.monthes .scrollable').scrollable().getClickIndex() + 1); 
	
		return true;
	} else {
		return false;
	}
}



function recalcEventsBrowser(firstEventId) {
    $(".events .scrollable .event").bind('click', function() {
		keyvisualShown.fadeOut(500);
		var attrId = this.getAttribute('id');
		$("#image_" + attrId).fadeIn(500);
		keyvisualShown = $("#image_" + attrId);
		$(".events .scrollable .event").removeClass('active');
		$(this).addClass('active');
	});
	
	ss_inexpo_content_displayEventImage('keyvisual_wrap', firstEventId, 'image', '1000c', '354c', Math.random());
}

function showNextEvent() {
  if ($(".events .scrollable").html()) {
  	$('.events .event.active').removeClass('active');
  	shownEventNumber += 1;
  	if ($('.events .event-number-' + shownEventNumber).html()) {
  		
  	} else {
  		shownEventNumber = 0;
  	}

  	var shownEventObj = $('.events .event-number-' + shownEventNumber);
  	$(shownEventObj).addClass('active');
  	var shownId = $(shownEventObj).attr('id');
  	var regXp = new RegExp('event_(.+)');
  	var regExpResults = regXp.exec(shownId);
  	var shownEventId = regExpResults[1];
  	
  	$('#keyvisual_wrap').fadeOut(500);
  	
  	ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
	}
}                              

function clearEventsSwitchInterval() {
  if ($(".events .scrollable").html()) {
  	if (typeof(eventsSwitchInterval) != 'undefined') {
  		clearInterval(eventsSwitchInterval);
  	}
  	eventsSwitchInterval = setInterval('showNextEvent()', 10000);
	}
}


function scrollPrevItem() {
  var activeItem = $('.events .event.active');
  if ($('.events .event.active').prev().html()) {
    $('.events .event.active').prev().addClass('active');
    $(activeItem).removeClass('active');
    var shownId = $('.events .event.active').attr('id');
    var regXp = new RegExp('event_(.+)');
  	var regExpResults = regXp.exec(shownId);
  	var shownEventId = regExpResults[1];
  	$(".events .scrollable").scrollable().seekTo($('.event').index($('.events .event.active')));
    
    var regXp1 = new RegExp('month_(\\d+)_year_(\\d+)');
  	var regExpResults1 = regXp1.exec($('.events .event.active').attr('class'));
  	var shownEventMonthClass = regExpResults1[0]; 
  	$(".monthes .scrollable").scrollable().click($(".monthes .item").index($(".monthes #" + shownEventMonthClass)));
  	
	  $('#keyvisual_wrap').fadeOut(500);
    
    ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
  }
}

function scrollNextItem() {
  var activeItem = $('.events .event.active');
  if ($('.events .event.active').next().html()) {
    $('.events .event.active').next().addClass('active');
    $(activeItem).removeClass('active');
    var shownId = $('.events .event.active').attr('id');
    var regXp = new RegExp('event_(.+)');
  	var regExpResults = regXp.exec(shownId);
  	var shownEventId = regExpResults[1];
  	$(".events .scrollable").scrollable().seekTo($('.event').index($('.events .event.active')));
  	
  	var regXp1 = new RegExp('month_(\\d+)_year_(\\d+)');
  	var regExpResults1 = regXp1.exec($('.events .event.active').attr('class'));
  	var shownEventMonthClass = regExpResults1[0]; 
  	$(".monthes .scrollable").scrollable().click($(".monthes .item").index($(".monthes #" + shownEventMonthClass)));
  	
  	$('#keyvisual_wrap').fadeOut(500);
  	
  	ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
  }
}

function monthClick(caller) {
  $('.events .event.active').removeClass('active');
  var monthId = $(caller).attr('id');
  var evtt = $("." + monthId + ':first');
  $(evtt).addClass('active');
  var shownId = $(evtt).attr('id');
  var regXp = new RegExp('event_(.+)');
  var regExpResults = regXp.exec(shownId);
  var shownEventId = regExpResults[1];
  
  $('#keyvisual_wrap').fadeOut(500);
  
  $(".events .scrollable").scrollable().seekTo($('.event').index(evtt));
  ss_inexpo_content_displayEventImage('keyvisual_wrap', shownEventId, 'image', '1000c', '354c', Math.random());
}

//document.onmousemove = clearEventsSwitchInterval;

function doSearch(searchWhere, block_id, pageNum, caller) {
	//$('#' + block_id).html('<p class="red-italic">Загрузка...</p>');
	$('#' + block_id).fadeOut();
		
	ss_inexpo_content_displayCompaniesList(searchWhere, $('#companies_search_word').val(), $('#letter').val(), $('#keyword').val(), $('#category').val(), block_id, pageNum, 10, $('#orderBy').val(), Math.random());
    if ($(caller).attr('class') == 'label') {
    	$('.search-companies-panel .labels ul li.active').css('background', 'transparent');
		with ($('.search-companies-panel .labels ul li')) {
			removeClass('active');
		}
	
	    if ($(caller.parentNode).hasClass('first')) {
	    	with($(caller.parentNode)) {
				addClass('active');
				css('background', '#ea0001 url("fileadmin/templates/img/search_label_left_first.gif") no-repeat');
			}
	    } else {
		    with($(caller.parentNode)) {
				addClass('active');
				css('background', '#ea0001 url("fileadmin/templates/img/search_label_left.gif") no-repeat');
			}
		}
    }
}

function showMapTooltip(mapMarkElement, mapMarkObject, complete) {
      var mapMarkId = mapMarkElement.id;
	  
	  // Set highest z-index to be on the top of other marks
      $(mapMarkObject).css('z-index', ++lastZIndex);
      
      var tooltipLeftReg = new RegExp('([0-9]+)px');
      var tooltipLeftRegResults = tooltipLeftReg.exec(mapMarkElement.style.left);
      var tooltipTopReg = new RegExp('([0-9]+)px');
      var tooltipTopRegResults = tooltipTopReg.exec(mapMarkElement.style.top);
      var tooltipWidthReg = new RegExp('([0-9]+)px');
      var tooltipWidthRegResults = tooltipWidthReg.exec(mapMarkElement.style.width);
      var tooltipHeightReg = new RegExp('([0-9]+)px');
      var tooltipHeightRegResults = tooltipHeightReg.exec(mapMarkElement.style.height);
      
      var mapMarkLeft = tooltipLeftRegResults[1];
      var mapMarkTop = tooltipTopRegResults[1];
      var mapMarkWidth = tooltipWidthRegResults[1];
      var mapMarkHeight = tooltipHeightRegResults[1];
      
      var leftStyle = (0 - 140 + parseInt(parseInt(mapMarkWidth) / 2)) + 'px';
      var topStyle = (0 + parseInt(parseInt(mapMarkWidth) / 1.35)) + 'px';

      var tooltipIdReg = new RegExp('company_mark_([0-9]+)');
      var tooltipIdRegResults = tooltipIdReg.exec(mapMarkId);
      var markCompanyId = tooltipIdRegResults[1]; 

      $('#tooltip_' + markCompanyId).css({display: 'block', left: leftStyle});
      
      if (complete) {
      	$(mapMarkObject).addClass('active');
        if (typeof(clickedMarkObject) != 'undefined') {
          if ($(clickedTooltipObject).css('display') == 'block' && $(clickedMarkObject).get(0).id != mapMarkId) {
            $(clickedMarkObject).removeClass('active');
            $(clickedTooltipObject).css('display', 'none');
            $(clickedMarkObject).bind('mouseenter', function() {
              var mapMarkElement = $(this).get(0); 
              showMapTooltip(mapMarkElement, $(this), false); 
            });
            $(clickedMarkObject).bind('mouseleave', function() {
              var mapMarkElement = $(this).get(0);
              hideMapTooltip(mapMarkElement);
            });
          }
        }
        
        $(mapMarkObject).unbind('mouseenter');
        $(mapMarkObject).bind('mouseenter', function() {
        
			// Set highest z-index to be on the top of other marks
			$(mapMarkObject).css('z-index', ++lastZIndex);
		});
        $(mapMarkObject).unbind('mouseleave');
        clickedMarkObject = $(mapMarkObject); 
        clickedTooltipObject = $('#tooltip_' + markCompanyId);
      }
      /*$('#tooltip_' + markCompanyId).bind('mouseenter', function(e) {
        $(mapMarkObject).unbind('mouseleave');
      });
      $('#tooltip_' + markCompanyId).bind('mouseleave', function(e) {
        $(mapMarkObject).bind('mouseleave', function() {
          var mapMarkElement = $(mapMarkObject).get(0); 
          showMapTooltip(mapMarkElement, mapMarkObject); 
        });
      });*/
}

function hideMapTooltip(mapMarkElement) {
    var mapMarkId = mapMarkElement.id;
    var tooltipIdReg = new RegExp('company_mark_([0-9]+)');
    var tooltipIdRegResults = tooltipIdReg.exec(mapMarkId);
    var markCompanyId = tooltipIdRegResults[1]; 

	if (typeof(clickedMarkObject) != 'undefined') {
		$(clickedMarkObject).css('z-index', ++lastZIndex);
	}

    $('#tooltip_' + markCompanyId).css('display', 'none'); 
}

function showEventMap() {
	$('#show_event_map_button').css('display', 'none');
		
	//$('.seminar-single-map').show("fold", {}, 1000);
	if ($('.seminar-single-map').css('display') == 'none') {
		$('.seminar-single-map').fadeIn(500);
	}
}

function hideEventMap() {
	$('#show_event_map_button').css('display', 'block');
	
	//$('.seminar-single-map').hide("fold", {}, 1000);
	if ($('.seminar-single-map').css('display') == 'block') {
		$('.seminar-single-map').slideUp(500);
	}
}
 