$(document).ready(function(){


    
    $("#resourcesRaso, #geographyRaso").replacerSelect( {   'action':           'goto', 'target':'_blank'
    },{ 'readyBuild':       function(replacerSelect_data) {
                                $(replacerSelect_data.replacerSelect_li[0]).hide();
                                
                                replacerSelect_data.replacerSelect_form.children("input[type=submit]").hide();
                                /*replacerSelect_data.replacerSelect_form.find("input[type=submit]").hide();*/
                                replacerSelect_data.replacerSelect_text.wrapInner("<span class='replacerSelect_textInner'></span>");
                                /*document.getElementById('GOTOresourcesRasoButton').style.display="none";
                                document.getElementById('GOTOgeographyRasoButton').style.display="none";*/
                                return false;
                            },
        'item_selectAfter': function(replacerSelect_data){
                                replacerSelect_data.replacerSelect_text.wrapInner("<span class='replacerSelect_textInner'></span>");
                                
                                return false;
                            }
    }
);    
    
	$("body").addClass('js_on');
	karusel_counter = -1;
	replacerSelect_num = -1;
	
	$("#informerMassive .informerCode").hide();
	
	$("#informerMassive .informerCode").focus(function(){
		eval($(this)[0].select());
	});
	$("#informerMassive .informerCode").click(function(){
		eval($(this)[0].select());
	});
	
	$("#informerMassive .informerCodeHref").click(function(){
		var href = $(this);
		var informerHtml = href.parents(".informerContainer").find(".informerContainer_inner span").html();
		var informerCode = href.prev(".informerCode");
		
		$("#informerMassive .informerCode").not(informerCode).slideUp();
		informerCode.attr({'value':informerHtml}).slideToggle();
		
		return false;
	});
	
	function select_obg(n) {
		eval("document.textobg."+n+".select()");
	}
	
	$(".popUpOpenButton").click(function(){
		var button = $(this);
		$(".popUpBlock_container").hide();
		$("#" + button.attr('id').replace('_popUpOpenButton', '')).toggle();
		
		//return false;
	});
	
	$(".popUpBlock_close").click(function(){
		var button = $(this);
		button.parents(".popUpBlock_container").hide();
	});

	function drawKaruselNavigator(karuselGalery_data, liSize){
		var listPosition = karuselGalery_data.karusel_list.offset();
		var leftPosition = -(Math.round($("body").width()/2) - listPosition.left) + karuselGalery_data.karusel_list.parents(".textBlock").outerWidth() - 15;
		
		karuselGalery_data.karusel_forward.css({'position':		'absolute',
												'top':			listPosition.top - 26 + 'px',
												'left':			'50%',
												'marginLeft':	leftPosition - 11 + 'px'});
												
		leftPosition -= 12;
		
		var karuselNavigator = "<div class='karuselPageNavigatorContainer' >";
		for (i = 1; i <= liSize; i++) {
			if (i == 1) {
				karuselNavigator += "<a href='"+ i +"' title='"+ i +"' class='karuselPageNavigatorItem active'>1</a>";}
			else {
				karuselNavigator += "<a href='"+ i +"' title='"+ i +"' class='karuselPageNavigatorItem'>1</a>";}
			leftPosition -= 11;
		}
		karuselNavigator += "</div>";
		
		karuselGalery_data.karusel_backward.css({	'position':		'absolute',
													'top':			listPosition.top - 26 + 'px',
													'left':			'50%',
													'marginLeft':	leftPosition - 11 + 'px'});
		
		karuselNavigator = $(karuselNavigator);
		karuselNavigator.insertAfter(karuselGalery_data.karusel_list);
		
		karuselNavigator.css({	'position':		'absolute',
								'top':			listPosition.top - 26 + 'px',
								'left':			'50%',
								'marginLeft':	leftPosition + 'px',
								'width':		11*liSize + 'px'});
		
		karuselNavigatorItems = karuselNavigator.children("a");
		karuselNavigatorItems.each(function(){
			this.karusel = karuselGalery_data; });
		
		karuselNavigatorItems.click(function(){
			var karuselData = this.karusel;
			var itemNum = $(this);
			if ((itemNum.hasClass('active') == false)&&(karuselData.animate == false)) {
				var container = itemNum.parent(".karuselPageNavigatorContainer");
				var pages = container.children("a");
				container.children("a").removeClass('active');
				itemNum.addClass('active');
				var container = itemNum.parent(".karuselPageNavigatorContainer");
				var href = itemNum.attr('title');
				var direct = parseInt(href) - parseInt(itemNum.text());
				$("#debugWindow").text(direct + ' = ' + parseInt(href) + ' - ' + parseInt(itemNum.text()));
				pages.text(href);
				if (direct > 0) {
					karuselData.goForward(karuselData, karuselData.karusel_options.step*direct, karuselData.karusel_options.speed, true);	}
				if (direct < 0) {
					karuselData.goBackward(karuselData, karuselData.karusel_options.step*(-direct), karuselData.karusel_options.speed, true);}
			}
													
			return false;
		});
	}
	
	function nextPageNavigator(karuselGalery_data) {
		if (karuselGalery_data.animate == false) {
			var navigator = karuselGalery_data.karusel_list.next(".karuselPageNavigatorContainer");
			var navPages = 	navigator.children("a");
			var activePage =navigator.children("a.active");
			
			var nextPage =	activePage.next("a");
			
			if (nextPage.size() == 0) {
				nextPage = $(navPages[0]);}
			
			var href = nextPage.attr('href').split('/');
			href = href[href.length-1];	
			navPages.removeClass('active').text(href);
			nextPage.addClass('active');
		}
	}
	
	function prevPageNavigator(karuselGalery_data) {
		if (karuselGalery_data.animate == false) {
			var navigator = karuselGalery_data.karusel_list.next(".karuselPageNavigatorContainer");
			var navPages = 	navigator.children("a");
			var activePage =navigator.children("a.active");
			
			var prevPage =	activePage.prev("a");
			
			if (prevPage.size() == 0) {
				prevPage = $(navPages[navPages.size()-1]);}
				
			var href = prevPage.attr('href').split('/');
			href = href[href.length-1];
			navPages.removeClass('active').text(href);
			prevPage.addClass('active');
		}
	}
	

	
	$("#calendarNewsNavigator_month, #calendarNewsNavigator_year").replacerSelect(	{'action':		'goto'},
																				  	{'readyBuild':	function(replacerSelect_data){
																										$("#sendCalndarNavigatorForm").hide();
																									}});
	
	$("#eventFilter_selector").replacerSelect({	/*'multiselect':	true*/ 'action':          'goto'},
											  {	'readyBuild':		function(){
																		$("#eventFilter_submitButton").hide();
																		return false;
																	},
												'item_selectBefore':function(replacerSelect_data, item){
																		item.toggleClass('checkedEventType');
																		return false;
																	},
												'item_selectAfter':	function(replacerSelect_data, item){
																		var href = item.attr('href').split('/');
																		href = href[href.length - 1];
																		
																		switch (href) {
																			case '#':	var passiveItems = replacerSelect_data.replacerSelect_ul.find(".replacerSelect_li a").not(".checkedEventType").click();
																						break;
																			default:	var allUl = $(".calendarEventsList.karuselGalery_list");
																						allUl.each(function(){
																							var count = $(this).find("li.eventType_"+ href).size();
																							if (count){
																								var ul = $(this);
																								var li = ul.karuselGalery_rollback().find("li.eventType_"+ href);
																								if (item.parent('li').hasClass('repalcerSelect_activeItem')) {
																									li.show();}
																								else{
																									li.hide();}
																								
																							}
																						});
																		}
																	}
											  });
	
	$("#bigSearcForm_type, #bigBookSearcForm_type").replacerSelect({	'multiselect':		true},
																   {	'beginMaking':		function(replacerSelect_data){
																								//Проверяем что хорошего у нас лежит в хэше и удаляем решетку из него
																								var activeItems = document.location.hash.replace("#", '');
																								//Если ничего нет, тогда это значит, что all
																								if (activeItems == '') {
																									activeItems = 'all';}
																								//Если есть all, тогда проходим по всем options и добавляем их в хэш
																								if (activeItems == 'all') {
																									replacerSelect_data.replacerSelect_options.each(function(){
																										if ($(this).attr('value') != 'all') {
																											activeItems += (',' + $(this).attr('value'));}
																									});
																								}
																								//разбиваем строку по запятым
																								activeItems = activeItems.split(",");
																								
																								//Добавляем класс к пункту «отметить все»
																								var option = replacerSelect_data.replacerSelect_select.find("option[value=all]");
																								option.addClass('selectAllItems');
																								
																								//Проходим по всем элементам в хэше
																								for (i = 0; i < activeItems.length; i++) {
																									option = replacerSelect_data.replacerSelect_select.children("option[value="+ activeItems[i] +"]");
																									option.addClass('activeItem');
																								}
																								
																								replacerSelect_data.replacerSelect_select.find("option").not(".activeItem").addClass('passiveItem');
																							},
																		'readyBuild':		function(replacerSelect_data){																								
																								var selAllButton = replacerSelect_data.replacerSelect_ul.find("a.selectAllItems, a[href=all]");
																								if (selAllButton.hasClass('activeItem')) {
																									replacerSelect_data.replacerSelect_ul.find("a.passiveItem").removeClass("passiveItem").addClass("activeItem");}
																								else {}
																							},
																		'item_selectAfter':	function(replacerSelect_data, item){
																								var href = item.attr('href').split('/');
																								href = href[href.length - 1];
																								
																								if (item.hasClass('selectAllItems')) {
																									if (item.hasClass('passiveItem')) {
																										item.removeClass('passiveItem').addClass('activeItem');
																										replacerSelect_data.replacerSelect_ul.find("a.passiveItem").click();
																									}else{
																										document.location.hash = 'all';
																										item.addClass('passiveItem').removeClass('activeItem');
																										replacerSelect_data.replacerSelect_ul.find("a.activeItem").click();
																									}
																								}else{
																									document.location.hash = '';
																									item.toggleClass('activeItem').toggleClass('passiveItem');
																									if (item.hasClass('passiveItem')) {
																										replacerSelect_data.replacerSelect_ul.find("a.selectAllItems").removeClass('activeItem').addClass('passiveItem');}
																										
																									var first = true;
																									replacerSelect_data.replacerSelect_ul.find("li a").each(function(){
																										var item = $(this);
																										if (item.hasClass('activeItem')) {																											
																											var href = item.attr('href').split('/');
																											href = href[href.length - 1];
																											if (first) {
																												document.location.hash += href;
																												first = false;}
																											else {
																												document.location.hash += ("," + href);}
																										}
																									});
																								}
																								
																							}});

	liSize = 0;

	$("#booksListMain").karuselGalery({	'event':		'click',
										'autoStyles':	false,
										'step':			308,
										'speed':		200},
									{	'beginMaking':				function(karuselGalery_data){
																		liSize = karuselGalery_data.karusel_list.children("li").size();
																		if (liSize > 1) {
																			return false; 	}
																		else {
																			return true;	}
																	},
										'readyBuild':				function(karuselGalery_data){
																		drawKaruselNavigator(karuselGalery_data, liSize);
																		return false;},
										'goForward_clickBefore':	function(karuselGalery_data){
																		nextPageNavigator(karuselGalery_data);
																		return false;},
										'goBackward_clickBefore':	function(karuselGalery_data){
																		prevPageNavigator(karuselGalery_data);
																		return false;}
									});

	$("#booksList").karuselGalery(	{	'event':		'click',
										'autoStyles':	false,
										'step':			228,
										'speed':		200},
									{	'beginMaking':				function(karuselGalery_data){
																		liSize = karuselGalery_data.karusel_list.children("li").size();
																		if (liSize > 1) {
																			return false; 	}
																		else {
																			return true;	}
																	},
										'readyBuild':				function(karuselGalery_data){
																		drawKaruselNavigator(karuselGalery_data, liSize);
																		return false;},
										'goForward_clickBefore':	function(karuselGalery_data){
																		nextPageNavigator(karuselGalery_data);
																		return false;},
										'goBackward_clickBefore':	function(karuselGalery_data){
																		prevPageNavigator(karuselGalery_data);
																		return false;}
									});
	
	$("#arcticleListMain").karuselGalery({	'event':		'click',
											'autoStyles':	false,
											'step':			237*3,
											'speed':		600
										},{	'beginMaking':			function(karuselGalery_data){
																		liSize = karuselGalery_data.karusel_list.children("li").size();
																		while (liSize % 3 != 0) {
																			karuselGalery_data.karusel_list.append("<li class='textBlock border lightGreenBorder'>&nbsp;</li>");
																			liSize++;}
																		
																		liSize = liSize/3;
																	},
											'readyBuild':			function(karuselGalery_data){
																		drawKaruselNavigator(karuselGalery_data, liSize);},
											'goForward_stepBefore':	function(karuselGalery_data){
																		nextPageNavigator(karuselGalery_data);},
											'goBackward_stepBefore':function(karuselGalery_data){
																		prevPageNavigator(karuselGalery_data);}
										});

	
	$("#worldNewsTabsListMain").notebookList({	'labelSelector':	'h2',
												'labelSize':		15,
												'type':				'top',
												'width':			440,
												'height':			193});
	
	$("#worldNewsTabsListMain_a").notebookList({ 'labelSelector':    'h2',
        'labelSize':        15,
        'type':             'top',
        'width':            440,
        'height':           193});
	
	$("#PRNewsAnnounceList").notebookList({ 'labelSelector':'.newsTabLabel',
        'labelSize':    209,
        'type':                 'right',
        'width':        250,
        'height':       230,
        'event':        'hover'});
	
	var weMakeEventLists = false;
	
	function makeEventListNavigator(karusel_data, eventsCounter) {
		var tempString = "<div class='eventSlideNavigatorContainer'>";
		for (i = 0; i < eventsCounter; i++) {
			if (i != 0) {
				tempString += "<a href='"+ (i+1) +"' title='1' class='eventSlideNavigatorItem'>&nbsp;</a>";}
			else {
				tempString += "<a href='"+ (i+1) +"' title='1' class='eventSlideNavigatorItem active'>&nbsp;</a>";}
		}
		tempString += "</div>";
		
		var eventNavigator = $(tempString);
		var items = eventNavigator.children("a.eventSlideNavigatorItem");
		
		items.each(function(){
			var item = $(this);
			this.karuselGalery_data = karusel_data;
			item.click(function(){
				var item = $(this);
				var href = item.attr('href').split('/');
				href = href[href.length-1];
				var direction = href - item.attr('title');
				if (direction != 0) {
					if (direction > 0) {
						karusel_data = this.karuselGalery_data;
						karusel_data.goForward(karusel_data, karusel_data.karusel_options.step*direction, karusel_data.karusel_options.speed, true);
					}else{
						karusel_data = this.karuselGalery_data;
						karusel_data.goBackward(karusel_data, -karusel_data.karusel_options.step*direction, karusel_data.karusel_options.speed, true);
					}
					item.parent(".eventSlideNavigatorContainer").children(".eventSlideNavigatorItem").attr({'title':href}).removeClass('active');
					item.addClass('active');
				}
				
				return false;
			});
		});
		
		var position = karusel_data.karusel_list.offset();
		
		var navigatorCss = {	'position':		'absolute',
								'left':			'50%',
								'marginLeft':	-(Math.round($("body").width()/2) - position.left) + karusel_data.karusel_list.outerWidth() + 1 + 'px',
								'top':			position.top - 21};
		
		eventNavigator.css(navigatorCss).insertBefore(karusel_data.karusel_backward);
		items.css({'height':Math.round(eventNavigator.height()/items.size())});
	}
	
	function makeEventsListGalery() {
		$(".calendarEventsList").each(function(){
			var eventList = $(this);
			var eventsCounter = eventList.children("li").size();
			if (eventsCounter > 1) {
				eventList.karuselGalery({	'event':		'click',
											'autoStyles':	false,
											'type':			'vertical',
											'step':			65,
											'speed':		100
										},{	'readyBuild':			function(karusel_data){
																		
																		var position = karusel_data.karusel_list.offset();
																		
																		karusel_data.karusel_backward.css({	'position':		'absolute',
																										 	'left':			'50%',
																											'top':			position.top - 21 - 8,
																											'marginLeft':	-(Math.round($("body").width()/2) - position.left) + karusel_data.karusel_list.outerWidth() + 1 + 'px'});
																		
																		karusel_data.karusel_forward.css({	'position':		'absolute',
																										 	'left':			'50%',
																											'top':			position.top - 21 - 8 + 87 - 2,
																											'marginLeft':	-(Math.round($("body").width()/2) - position.left) + karusel_data.karusel_list.outerWidth() + 1 + 'px'});
																		
																		makeEventListNavigator(karusel_data, eventsCounter);
																		
																		weMakeEventLists = true;
																		
																		return false;
																	},
																	
											'goForward_clickAfter':	function(karusel_data){
																		var navigatorContainer = karusel_data.karusel_backward.prev(".eventSlideNavigatorContainer");
																		var items = navigatorContainer.children("a.eventSlideNavigatorItem");
																		var item =  navigatorContainer.children("a.active");
																		var nextItem = item.next(".eventSlideNavigatorItem");
																		if (nextItem.size() == 0) {
																			nextItem = $(items[0]);}
																		var href = nextItem.attr('href').split('/');
																		href = href[href.length-1];
																		
																		items.removeClass('active').attr({'title':href});
																		nextItem.addClass('active');
																		
																		return false;
																	},
																	
											'goBackward_clickAfter':function(karusel_data){
																		var navigatorContainer = karusel_data.karusel_backward.prev(".eventSlideNavigatorContainer");
																		var items = navigatorContainer.children("a.eventSlideNavigatorItem");
																		var item =  navigatorContainer.children("a.active");
																		var prevItem = item.prev(".eventSlideNavigatorItem");
																		if (prevItem.size() == 0) {
																			prevItem = $(items[items.size()-1]);}
																		var href = prevItem.attr('href').split('/');
																		href = href[href.length-1];
																		
																		items.removeClass('active').attr({'title':href});
																		prevItem.addClass('active');
																		
																		return false;
																	}
										});
			}
		});
	}
	
	$("#calendarNotebook").notebookList({		'labelSelector':	'.calendarNotebook_label',
												'labelSize':		25,
												'autoLiWidth':		false,
												'width':			695,
												'type':				'top'},
										{		'beginBuild':		function(notebook_data){
																		var pageId = document.location.hash;
																		if (pageId != '') {
																			notebook_data.notebook_ul.children("li").removeClass('active');
																			notebook_data.notebook_ul.find("a.calendarNotebook_label[href="+ pageId +"]").parent("li").addClass('active');}
																		return false;
																	},
												'readyBuild':		function(notebook_data){
													
																		if ((weMakeEventLists == false)&&(document.location.hash == '#month')) {
																			makeEventsListGalery();}
													
																		for (i = 0; i < notebook_data.notebook_pages.length; i++) {
																			notebook_data.notebook_pages[i].label.wrapInner("<span class='notebookLabelDecor'></span>");
																			if (notebook_data.notebook_pages[i].label.attr('href') == 'calendarHash') {
																				var activePageLabel = notebook_data.notebook_pages[i].label;}
																		}
																		
																		return false;
																	},
																	
												'clickLabel_before':function(notebook_data, clickedLabel){
																		document.location.hash = clickedLabel.attr('href');
																		return false;
																	},
																	
												'clickLabel_after':	function(notebook_data, clickedLabel){
													
																		if ((weMakeEventLists == false)&&(document.location.hash == '#month')) {
																			makeEventsListGalery();}
																		
																		return false;
																	}
											});
	
	


	labels = $("#PRNewsAnnounceList .newsTabLabel");
	$(labels[labels.size()-1]).css({'borderBottom':	'0px'});
	
	   $("#feedback_selector").replacerSelect();
	
    $("a[rel^='fancybox']").fancybox({
        /*'transitionIn'  :   'elastic',
        'transitionOut' :   'elastic',*/
        'speedIn'       :   400, 
        'speedOut'      :   400, 
        'overlayShow'   :   true,
        'titlePosition' :   'outside'/*,
        'titleFormat'   :   function(title, currentArray, currentIndex, currentOpts) {
            return '<span id="fancybox-title-over">' + title + '</span>';
        }*/ 
    });
    
    $("#eventCalendarListMain").karuselGalery( { 'event': 'click', 'autoStyles': false, 'step': 310, 'speed': 200},
             { 'beginMaking': function(karuselGalery_data){
             liSize = karuselGalery_data.karusel_list.children("li").size();
             if (liSize > 1) {
             return false; }
             else {
             return true; }
             },
             'readyBuild': function(karuselGalery_data){
             drawKaruselNavigator(karuselGalery_data, liSize);
             return false;},
             'goForward_clickBefore': function(karuselGalery_data){
             nextPageNavigator(karuselGalery_data);
             return false;},
             'goBackward_clickBefore': function(karuselGalery_data){
             prevPageNavigator(karuselGalery_data);
             return false;}
             }); 
    $("ul#menu li").mouseover (
    		function (){
    			$("ul#menu li ul").css("display", "none");
    			$(this).children("ul").css("display", "block");
    		}		
    );	    
    
    if (typeof(lo_pr_bl_scroller) != 'undefined') {
        lo_pr_bl_scroller.start();
    }
    
});

function loPrBlScroller(id, number) {
    this.id = id;
    this.number = number;
    this.itemWidth = 230;
    this.step = 5; // this.itemWidth должен нацело делиться на this.step
    this.width = this.number * this.itemWidth * 2 + 100;
    this.container = document.getElementById(id);
    this.container.style.width = this.width + 'px';
    var items = this.container.getElementsByTagName('li');
    var l = items.length;
    for (var i = 0; i < l; i++) {
        var o = items[i].cloneNode(true);
        this.container.appendChild(o);
        
    }
    this.left = 0;
    this.container.style.left = this.left + 'px';
    this.itemsCounter = 0;
    this.itemCounter = 0;
    this.itemsDelay = 3000;
    this.itemDelay = 5;
    if (window.opera) {
        this.itemDelay = 10;
    }
    this.itemsTimeout;
    this.itemInterval;
    var self = this;
    
    this.scrollItems = function() {
        this.itemInterval = setInterval(function() {self.scrollItem()}, this.itemDelay);
        
    }
    
    this.scrollItem = function() {
        this.itemCounter = this.itemCounter + this.step;
        this.left = this.left - this.step;
        this.container.style.left = this.left + 'px';
        if (this.itemCounter == this.itemWidth) {
            this.itemCounter = 0;
            clearInterval(this.itemInterval);
            clearTimeout(this.itemTimeout);
            this.itemsCounter ++;
            if (this.itemsCounter == this.number) {
                this.left = 0;
                this.container.style.left = this.left + 'px';
                this.itemsCounter = 0;
            }
            this.itemsTimeout = setTimeout(function() {self.scrollItems()}, this.itemsDelay);
        }
    }
    
    this.start = function() {
        if (this.number < 5) {
            return;
        }
        this.itemsTimeout = setTimeout(function() {self.scrollItems()}, this.itemsDelay);
    }
}
