var docLang = null, 
	docBoxset = null,
	mc2,
	bc1, 
	bc2,
	imgPopupTarget = null;

/*
setMouseWheelScrollLeft()
променя подразбиращото се действие от обработка на 
събитието от колелото на мишката. Хоризонтален скрол. 
*/ 

function setMouseWheelScrollLeft() { 
	$(document).mousewheel(function(event, delta) {
		$(this).scrollLeft( $(this).scrollLeft() - (delta * 45) );
      event.preventDefault();
   }); 
} //setMouseWheelScrollLeft
	
function documentScrollLeft(leftRight, step) {
	switch(leftRight) {
		case 'right': $(document).scrollLeft( $(this).scrollLeft() + step ); break;
		case 'left': $(document).scrollLeft( $(this).scrollLeft() - step ); break;
	};
} //scrollRight


/*
imgPopupFirst()
намира първото тематично изображение от групата,
като разкодира информацията от името на текущото изображение
*/
   
function imgPopupFirst(imgTarget) {
	//alert(imgPopupTarget.attr('src'));
	imgParser.decodeImageObj( imgTarget );
	imgParser.indexReset() ;
	imgParser.swapLoadImage();
} //imgPopupFirst()


/*
imgPopupNext()
намира следващото тематично изображение,
като разкодира информацията от името на текущото изображение
*/
   
function imgPopupNext(imgTarget) {
	imgParser.decodeImageObj( imgTarget );
	imgParser.indexNext() ;
	imgParser.swapLoadImage();
} //imgPopupNext()

/*
imgPopupPrev()
намира следващото тематично изображение,
като разкодира информацията от името на текущото изображение
*/
   
function imgPopupPrev(imgTarget) {
	imgParser.decodeImageObj( imgTarget );
	imgParser.indexPrev() ;
	imgParser.swapLoadImage();
} //imgPopupPrev()alert

/*
imgPopupZoom()
намира следващото тематично изображение в уголемена версия,
като разкодира информацията от името на текущото изображение
и го показва в модален прозорец
*/
   
function imgPopupZoom(imgTarget) {
	imgParser.decodeImageObj( imgTarget );
	overboxUse( imgParser.toggleSize() );
} //imgPopupZoom()


/*
overboxUse()
показва изображение в модален прозорец и
определя начина на работа на апрозореца
*/
   
function overboxUse(imgTarget) {
	$('#overbox').children('img').attr('src', imgTarget);
   $('#overlay').fadeIn('fast', function() {
		$('#overbox').fadeIn('fast', function() {
        		imgPopupTarget = $('#overbox').children('img');
      });
   });
} //overboxUse()

/*
overboxClose()
премахва модалния прозорец от екрана и възстановява
нормалната работа на документа
*/
   
function overboxClose() {
	$('#overbox').fadeOut('fast', function() {
		$('#overlay').fadeOut('fast');		
		$('#overbox').children('img').attr('src', '');
	});	
} //overboxClose()


/*
enableImagePopup()
активира генерирането на събития от изображенията в кутиите, 
подходящи за обработка от функциите на popup менюто. Избира целевото
изображение и осигурява показването и скриването на менюто
*/

function enableImagePopup() {

	var imgPopup = $("#imgPopup");

	$("#container .box .imgShowFrame img")
		.mouseenter( function(e) {
			imgPopupTarget = $(this);	
		});
	
	$("#container .box")
		.mousemove( function(e) {
			var imgObj = imgPopupTarget;  
			var imgPos = imgObj.offset();
  			
			if ( e.pageX >= imgPos.left && e.pageX <= imgPos.left + imgObj.width() 
			   && e.pageY >= imgPos.top && e.pageY <= imgPos.top + imgObj.height() ) {
 					if ( imgPopup.is(':hidden') ) {						
 						imgPos.top += 15; imgPos.left += 15;
						imgPopup.css(imgPos).fadeIn('fast'); //позиционира елемента
					};			
					} else {
					if ( imgPopup.is(':visible') ) {						
						imgPopup.fadeOut('fast');	
					};
					};			
	
		}); //.mousemove

} //enableImagePopup()

// ================================================================= генерира елементите на менюто от заглавията в бокс сетовете
	
function startLocalEffects() {
	setMouseWheelScrollLeft();
} //startLocalEffects()	
	
function setMenuHoverEffect() {
	mc2 = $("#menu ul li a").css("color"); 												// оригиналния цвят на елемент от менюто
	$("#menu ul li a").hover(
			function() {$(this).stop().animate({ color: "#fff" }, 300) } ,    	//.hover step 1 - mouse enter - animate
			function() {$(this).stop().animate({ color: mc2 }, 800) } 		 	 	//.hover step 2 - mouse leave - animate
	); // hover
} //setMenuHoverEffect()
	
function setLocalScrollEffect() {
	$.localScroll.defaults.axis = 'x';
	$.localScroll({
			onAfter: function(anchor) {
				bc1 = '#aaaaaa'; bc2 = $(anchor).css("borderBottomColor");
				$(anchor).animate({ borderTopColor: bc1, borderLeftColor: bc1, borderBottomColor: bc1, borderRightColor: bc1 }, 100 ,
					function() {
						$(anchor).animate({ borderTopColor: bc2, borderLeftColor: bc2, borderBottomColor: bc2, borderRightColor: bc2 }, 300)
					}
				) //animate
			} //onAfter
	}); //localScroll
} //setLocalScrollEffect()	
	
			
function processMenu() {
	
	var buildSubitemsFlag = false;									
	var menuList, boxId, boxMenuItem, boxMenuHint, boxTitle, itemHtml, subitemHtml;

	$("#menu").fadeOut('fast', function() { 
								
			$("#menu").empty().load( docLang + "_" + "menu.html", function() {

					menuList = $("#menu ul");

					$('#menu .langSel').text( getToggleLang(docLang) );
									
					//чете информация от бокс сетовете 
					$(".box").each( function() {
							//отделя необходимите полета
							boxId = $(this).attr('id'); 											//котвата
							boxMenuItem = $(this).attr('menuItem');
							boxMenuHint = $(this).attr('menuHint');
							boxTitle = $('h2 a', this).text();
							//управление на липсите			
							if (boxMenuItem == undefined || boxMenuItem.length == 0) { boxMenuItem = boxTitle };
							if (boxMenuHint == undefined || boxMenuHint.length == 0) { boxMenuHint = boxTitle };																	
							//форматира и добавя елементите на менюто
							itemHtml = '<li class="items"><a href="#' + boxId + '" title="' + boxMenuHint + '">' + boxMenuItem + '</a></li>' ;
							subitemHtml = '<li class="items"><a href="#' + boxId + '" class="subItem" title="' + boxMenuHint + '">' + boxTitle + '</a></li>' ;	

							if ( buildSubitemsFlag == false ) {
								menuList.append(itemHtml)	} else {
								menuList.find('ul:last').append(subitemHtml)
							};
										
							if ($(this).next().attr('class')=='box subbox') {
								if (buildSubitemsFlag==false) { 
									buildSubitemsFlag = true;
									menuList.find('li:last').append('<ul class="subitems"></ul>');
									menuList.find('ul:last').append(subitemHtml);
								}	} else { 
								buildSubitemsFlag = false;
							};
					}) //.each
			})	//.load
	}).delay(300).fadeIn('fast', function() {
			//осигурява анимация на менюто
			setMenuHoverEffect();											
			//осигурява скрола и анимацията на боксовете (borders)
			setLocalScrollEffect();
			// скрол до началото "#home" позиция на док. left: 0px при ново зареждане		
			$.scrollTo( 0 ,900 );
			enableImagePopup();																		
	}); // $("#menu").fadeIn
							
}; // processMenu()



// ================================================================= осигурява зареждането на съдържание в документа	и обработка



function contentLoad(boxset, lang ) {
	//управление на опционни параметри
	if (lang == undefined) { lang = docLang };
	//зарежда елементи зависими от езика
	if (lang != docLang) {
		docLang = lang;
		$("#options").empty().load(docLang + "_" + "imgpopup.html");
	};
	//винаги зарежда контейнера с кутиите
	docBoxset = boxset;
	var contr = $("#container"), fileName = docLang + "_" + docBoxset;
	contr.fadeOut('fast', function() {
		contr.empty().load( fileName, function() {
			contr.fadeIn('fast', function() {
				processMenu() 
			});
		});
	});
}; //contentLoad()

function getToggleLang(lang) {
	if (lang == 'bg') {return 'en'} else {return 'bg'};	
} //getToggleLang()

function docLangToggle(lang) {
	//ако не е зададен параметър - автоматично
	if (lang == undefined) {lang = getToggleLang(docLang)};
	//презарежда съдържанието с алтернативен език
	contentLoad(docBoxset, lang )	;
}; //docLangToggle




