$(function(){

/*#############################################################################
	Получаем (или высчитываем) глобальные переменные
#############################################################################*/

	var arrow_left 		= $('#arrow_left'),
		arrow_left_one	= $('#arrow_left .one'),
		arrow_left_all	= $('#arrow_left .all');
		
	var arrow_rigth		= $('#arrow_right'),
		arrow_rigth_one	= $('#arrow_right .one'),
		arrow_rigth_all	= $('#arrow_right .all');	
		
	var slider_wrap		= $('#slider_wrap');	
	var NewsUl 			= $('ul#slider_wrap_img');
	var NewsLi 			= $('ul#slider_wrap_img li');
	
	var NewsLiWidth, NewsLiSelected, NewsLiSelectedPrev, NewsLiSelectedNext, arrowleftEnable, arrowRightEnable; 	
	
	// заодим функцию которая будет пересчитываться при определенных действиях	
	function params(){
		NewsLiSelected		= $('ul#slider_wrap_img li.selected');
		NewsLiSelectedPrev	= $('ul#slider_wrap_img li.selected').prev();
		NewsLiSelectedNext	= $('ul#slider_wrap_img li.selected').next();		
		NewsLiWidth			= $('ul#slider_wrap_img li.selected').width();	
		// проверяем присыв	
		arrowleftEnable = false; 	
		if(NewsLiSelectedPrev.attr('id') == "arrow_left"){
			arrowleftEnable = true;
		}		
		arrowRightEnable = false; 	
		if(NewsLiSelectedNext.attr('id') == "arrow_right"){
			arrowRightEnable = true;
		}
	};
	
	/*########################################################################
		Зазаем параметры:
	########################################################################*/
		// задаем порядок сортировки в случае когда нет SELECTED класса у какой либо 
		// из новостей. В случае если TRUE то выбирается по-умолчанию элемент новости 
		// справа. Соответственно FALSE — слева;
		// makeSort = true;
		makeSort = false;
/*#############################################################################
	Навешиваем хендлеры собырий
#############################################################################*/	
	
	// пересчитываем положение крайних
	function makeSideLinks() {
		// вызываем перезапись переменных
		params();
		// составляем условия зависимости боковых элементов от выбранного пункта
		// если выбран крайний левый элемент
		if(arrowleftEnable) {
			arrow_left_one.hide();
			arrow_left_all.show();
			arrow_rigth_all.hide();
			arrow_rigth_one.show();
		} else {
			// если выбран крайний правый жлемент
			if(arrowRightEnable) {
				arrow_rigth_one.hide();
				arrow_rigth_all.show();
				arrow_left_all.hide();
				arrow_left_one.show();
			} 
			// если ни тот ни тот
			else {
				arrow_left_all.hide();
				arrow_rigth_all.hide();
				arrow_left_one.show();
				arrow_rigth_one.show();
			}
		}		
	}
		
	function hideNotUseNews(){
		// вызываем перезапись переменных
		params();	
		// проверяем сколько всего новостей если больше чем 5 элементов (включая стреклки) находим лишниеи прячем 
		if(NewsLi.length > 5) {			
			// если Селетор слева 
			if(arrowleftEnable) {
				NewsLiSelectedNext.next().show();
				NewsLiSelectedNext.next().nextAll().removeClass('showit').addClass('hideit');
				arrow_rigth.removeClass('hideit').addClass('showit');	
				arrow_left.removeClass('hideit').addClass('showit');	
							
			} else {				
				// Если селектор справа
				if(arrowRightEnable) { 
					NewsLiSelectedPrev.prev().prevAll().removeClass('showit').addClass('hideit');
					arrow_left.show();
				} 
				// Если ни слева ни справа
				else { 
					// убираем все после соседей спраава и слева 
					NewsLiSelectedPrev.prevAll().removeClass('showit').addClass('hideit');
					NewsLiSelectedNext.nextAll().removeClass('showit').addClass('hideit');
					// показываем соседей спарва и слева
					NewsLiSelectedPrev.removeClass('hideit').addClass('showit');
				 	NewsLiSelectedNext.removeClass('hideit').addClass('showit');								
					// показываем выбранный и обязательные стрелки		
					NewsLiSelected.removeClass('hideit').addClass('showit');
					arrow_rigth.removeClass('hideit').addClass('showit');
					arrow_left.removeClass('hideit').addClass('showit');
				}				
			}	
				
			// если не выбран ни один
			if(NewsLiSelected.length == 0){
				
				var numDiff = 0;
				var NewsLiLength = NewsLi.length;
				
				NewsLi.each(function(e){
					if(makeSort){
						// устанавливаем крайний СЛЕВЫЙ в class = Selected
						if(e == 1){ $(this).addClass('selected'); }						
						// проблегаем по остальным и прячем их
						if(e > 3){ $(this).removeClass('showit').addClass('hideit'); }
						// стрелочки должны работать всегда
						arrow_rigth.removeClass('hideit').addClass('showit');
					} else {
						// задаем обратный порядок выисление к примеру с 10 до 0
						numDiff = NewsLiLength - e;
						// проверяем если число numDiff меньше 5 то мы попали 
						// в область при которой нуно отображать элементы новости 
						if(numDiff < 5) {
							$(this).removeClass('hideit').addClass('showit');	
						} else {
							$(this).removeClass('showit').addClass('hideit');
						}
						// если этот элемент новости последний (1 элемент будет 
						// уже стрелка ее трогать нельзя) ставим ему class 'selected' 
						if(numDiff == 2){ $(this).addClass('selected'); }
						// стрелочки должны работать всегда
						arrow_left.removeClass('hideit').addClass('showit');		
					}
					//hideNotUseNews();
				});
				
			}
			// вызываем отработки боковых кнопок 
			makeSideLinks();
			// вызываем заполнения даты
			makeDateLinks();
		}
	}

/*#############################################################################
	Навешиваем хендлеры собырий
#############################################################################*/
		
	arrow_left.click(function(){
		// вызываем перезапись переменных
		params();
		// если есть выбранный эелемент	
		if(NewsLiSelected.length == 0){
			alert('нет selected');
		} else {	
			if(!arrowleftEnable) {
				NewsLiSelected.removeClass('selected');
				NewsLiSelectedPrev.addClass('selected');
				hideNotUseNews()
			}				
		}
	});
	
	arrow_rigth.click(function(){
		// вызываем перезапись переменных
		params();
		// если есть выбранный эелемент	
		if(NewsLiSelected.length == 0){
			alert('нет selected');
		} else {	
			if(!arrowRightEnable) {
				NewsLiSelected.removeClass('selected');
				NewsLiSelectedNext.addClass('selected');
				hideNotUseNews()
			}				
		}
	});

    $('.showit').live('hover',function(){
        if ($(this).attr('id') != "arrow_left" && $(this).attr('id') != "arrow_right"){
            $('.showit').removeClass('selected');
            $(this).addClass('selected');
        }
    });
	
/*#############################################################################
	Заполняем дату
#############################################################################*/	
		
	function makeDateLinks() {
		
		var dateUl = $('#slider_wrap');
		var resultString = '';
		
		if(NewsLiSelected.length == 0){
			// если нет SELECTED (такого вроде как быть не должно)
		} else {	
			// выставляем центральную дату
			var liDateSelect = $('div.date a', NewsLiSelected).html();
			var liDateSelectPrev = $('div.date a', NewsLiSelectedPrev).html();
			var liDateSelectNext = $('div.date a', NewsLiSelectedNext).html();				
				
				// если Селетор слева 
				if(arrowleftEnable) {
						resultString += '<li class="selected"><b>' + liDateSelect + '</b></li>'	;
						resultString += '<li><a href="'+NewsLiSelectedNext.find('.date a').attr('href')+'">' + NewsLiSelectedNext.find('.date a').html() + '</a></li>'	;						
						resultString += '<li><a href="'+NewsLiSelectedNext.next().find('.date a').attr('href')+'">' + NewsLiSelectedNext.next().find('.date a').html() + '</a></li>';
				} else {				
					// Если селектор справа
					if(arrowRightEnable) {
						resultString += '<li><a href="'+NewsLiSelectedPrev.prev().find('.date a').attr('href')+'">' + NewsLiSelectedPrev.prev().find('.date a').html() + '</a></li>';
						resultString += '<li><a href="'+NewsLiSelectedPrev.find('.date a').attr('href')+'">' + NewsLiSelectedPrev.find('.date a').html() + '</a></li>';						
						resultString += '<li class="selected"><b>' + liDateSelect + '</b></li>';
					} else {
						resultString += '<li><a href="'+$('div.date a', NewsLiSelectedPrev).attr('href')+'">' + liDateSelectPrev + '</a></li>'	;
						resultString += '<li class="selected"><b>' + liDateSelect + '</b></li>'	;
						resultString += '<li><a href="'+$('div.date a', NewsLiSelectedNext).attr('href')+'">' + liDateSelectNext + '</a></li>'	;
					}
				}								
			
			dateUl.html(resultString);
		}
	}
	
/*#############################################################################
	вызываем основнее функции
#############################################################################*/
	
	NewsUl.after('<ul id="slider_wrap"></ul>');	
	
	hideNotUseNews();	
	
});

































	
	// var news = function() {}
	// 
	// news.prototype.params =  {
	// 	arrow_left: $('#arrow_left'),
	// 	arrow_right: $('#arrow_right'),
	// 	slider_wrap:$('#slider_wrap'),
	// 	NewsUl: 	$('ul#slider_wrap_img'),
	// 	NewsLi: 	$('ul#slider_wrap_img li'),
	// 
	// 	NewsLiSelected:		$('ul#slider_wrap_img li.selected'),
	// 	NewsLiSelectedPrev:	$('ul#slider_wrap_img li.selected').prev(),
	// 	NewsLiSelectedNext:	$('ul#slider_wrap_img li.selected').next(),
	// 
	// 	NewsLiWidth: $('ul#slider_wrap_img li.selected').width()
	// }
	// 
	// 
	// news.prototype.widthIt = function(){
	// 	var w = this.params.NewsLiWidth;
	// 	alert(w);
	// }
	// 
	// 
	// var trip = new news();	
	// 
	// trip.widthIt();
	// 	
	//  trip.params.arrow_left.click(function(){
	//  	alert(trip.params.NewsLiWidth);
	// });
	// 
	
	
	
	
	
	
	
	// 
	// var params = {
	// 	arrow_left: $('#arrow_left'),
	// 	arrow_right:$('#arrow_right'),
	// 
	// 	slider_wrap:$('#slider_wrap'),	
	// 	NewsUl: 	$('ul#slider_wrap_img'),
	// 	NewsLi: 	$('ul#slider_wrap_img li'),
	// 
	// 	NewsLiSelected:		$('ul#slider_wrap_img li.selected'),
	// 	NewsLiSelectedPrev:	$('ul#slider_wrap_img li.selected').prev(),
	// 	NewsLiSelectedNext:	$('ul#slider_wrap_img li.selected').next(),
	// 
	// 	NewsLiWidth: $('ul#slider_wrap_img li.selected').width()
	// }
	// 
	// 
	// 
	// 
	// Params.arrow_left.click(function(){
	//  	var trip = new Params();
	// 	alert(trip.NewsLiWidth);
	// 
	// });
	// 
	
	





	// 
	// 
	// if(NewsLiSelectedPrev.attr('id') == "arrow_left"){
	// 	alert(allParams.allParams.qwe);
	// }
	// 







// var arrow_left 	= $('#arrow_left');
// var arrow_right	= $('#arrow_right');
// 
// var slider_wrap		= $('#slider_wrap');	
// var NewsUl 			= $('ul#slider_wrap_img');
// var NewsLi 			= $('ul#slider_wrap_img li');
// 
// var NewsLiSelected		= $('ul#slider_wrap_img li.selected');
// var NewsLiSelectedPrev	= $('ul#slider_wrap_img li.selected').prev();
// var NewsLiSelectedNext	= $('ul#slider_wrap_img li.selected').next();
// 
// var NewsLiWidth			= $('ul#slider_wrap_img li.selected').width();
// 
// if(NewsLiSelectedPrev.attr('id') == "arrow_left"){
// 	alert(allParams.qwe);
// }
