/* js2/main.js */
$(document).ready(function(){
	initMenu();
	initMainSlider();
	initHorizSlider();
	initFontResize();
	initPrintVersion();
	initPopup();
	initPreviewCycle();
	initSahTabs();
	initStepsWidth();
});

/* main menu in header: width, width for drop-down, show drop-down */
function initMenu(){
	var totalWidth = $('#header div.menu').width();
	var listWidth = 1;
	$('#header div.menu > ul > li').each(function(e){
		listWidth += $(this).width() - 1;
	});
	var lastWidth = totalWidth - listWidth + $('#header div.menu > ul > li:last-child > a').width() - 1;
	
	$('#header div.menu > ul > li:last-child > a').css({
		'width': lastWidth,
		'border-right': '1px solid #c8bdab'
	});
	
	var liWidth = 0;
	$('#header div.menu > ul > li').hover(function(){
		liWidth = $(this).width();
		$(this).find('ul').width(liWidth);
		$(this).addClass('hover');
	}, function(){
		$(this).removeClass('hover');
	});
}

/* slide images at home page */
function initMainSlider(){
if ( $('#main div.main-slider > div.slide-image').length == 0 ) return false;

	var countItem = $('#main div.main-slider div.bottom ul a').length;
	var active = Math.floor( Math.random() * (countItem) );
	
	$('#main div.main-slider > div.slide-image').cycle({
		slideExpr: 'div.item-image',
		pager: '#main div.main-slider > div.bottom > ul',
		timeout:500,
		speed:7000,
		pagerAnchorBuilder: function(idx, slide) {
			return '#main div.main-slider > div.bottom > ul li:eq(' + idx + ') a';
		},
		startingSlide: 0
	});
	$('#main div.main-slider > div.slide-text').cycle({
		slideExpr: 'div.item-text',
		pager: '#main div.main-slider > div.bottom > ul',
		timeout:500,
		speed:7000,
		pagerAnchorBuilder: function(idx, slide) {
			return '#main div.main-slider > div.bottom > ul li:eq(' + idx + ') a';
		},
		startingSlide: 0
	});
}

/* slide news at home page */
function initHorizSlider(){
	var countItem = $('#main div.horizontal-slider > div.navigation ul > li').length;
	var widthItem = $('#main div.horizontal-slider > div.navigation ul > li').width();
	var paddItem = parseInt($('#main div.horizontal-slider > div.navigation  ul > li').css('padding-right'));
	var widthHoriz = countItem * (widthItem + paddItem);
	$('#main div.horizontal-slider div.navigation div.bg-right').css({'width':widthHoriz+'px'});
	
	var sliding = false;
	$('#main div.horizontal-slider > div.navigation a').each(function(e){
		$(this).click(function(){
			if ( sliding ) return false;
			sliding = true;
			
			$('#main div.horizontal-slider > div.navigation ul > li').removeClass();
			$(this).parent().addClass('active');
			
			var marginHoriz = -(e*930)+'px';
			$('#main div.horizontal-slider div.slide-box div.inner').animate({marginLeft : marginHoriz},1000,function(){
				sliding = false;
			});
			
			return false;
		});
	});
}


/* resize of content */
function initFontResize(){
	var pageFontSize = 100;
	if($.cookie('fclass')){
		var curFontSize = $.cookie('fclass');
		$('body').attr('className',curFontSize);
		switch (curFontSize){
			case 'font100': pageFontSize = 100; break;
			case 'font110': pageFontSize = 110; break;
			case 'font120': pageFontSize = 120; break;
			case 'font130': pageFontSize = 130; break;
			case 'font140': pageFontSize = 140; break;
			case 'font150': pageFontSize = 150; break;
		};
	};
	
	$('a.plus').click(function(e){
		e.preventDefault();
		if (pageFontSize < 150) pageFontSize = pageFontSize + 10;
		$('body').removeClass();
		$('body').addClass('font'+pageFontSize);
		$.cookie('fclass','font'+pageFontSize);
	});
	$('a.minus').click(function(e){
		e.preventDefault();
		if (pageFontSize > 100) pageFontSize = pageFontSize - 10;
		$('body').removeClass();
		$('body').addClass('font'+pageFontSize);
		$.cookie('fclass','font'+pageFontSize);
	});
}


/* print page */
function initPrintVersion(){
	$('a.print').click(function(){
		window.print();
		return false;
	});
	$('a.web-version').click(function(){
		return false;
	});
}


/* slider for images at right column in product pages */
var firstCycle = true;

function initPreviewCycle(){
	if ( $('div.preview-photos').length == 0 ) return false;
	
	$('div.preview-photos div.image div.container img').each(function(){
		$(this).wrap('<span></span>');
	});
	
	$('#main div.preview-photos div.image > div.container').cycle({
		pager:  '#main div.preview-photos > ul.icons', 
		pagerAnchorBuilder: function(idx, slide) {
			return '#main ul.icons li:eq(' + idx + ') a';
		},
		before: function(currSlideElement, nextSlideElement, options, forwardFlag){
			$('#main div.preview-photos > ul.icons img').css('opacity','1');
			var currItemSlide = 0;
			if (firstCycle) {
				currItemSlide = options.nextSlide;
				firstCycle = false;
			}
			else {
				currItemSlide = options.nextSlide + 1;
			}
			$('#main div.preview-photos > ul.icons li:nth-child('+ currItemSlide +') img').css('opacity','0.4');
		}
	});
}


/* show popup */
function initPopup(){
	if ( $('#fader').length == 0 ) return false;
	
	$('#fader').css('opacity','0.6');
	
	$('div.popup a.close').click(function(){
		$('div.popup').css('display','none');
		$('#fader').fadeOut(2000);
		
		return false;
	});
	
	/* #popup-gallery */
	$('#main div.preview-photos div.view-all a').click(function(){
		$('#fader').fadeIn(2000,function(){
			$('#popup-gallery').css({
				'top': ( self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop) ) + 50,
				'display':'block'
			});
			
			initPopupGallery();
		});
		return false;
	});
	$('#popup-gallery a.close').click(function(){
		$('#main div.preview-photos div.image > div.container').cycle('resume');
	});
	
	/* #popup-price-chart */
	$('div.view-popup-chart a').live('click', function (e){
		e.preventDefault();
		var id = $(this).attr('href').substring($(this).attr('href').indexOf('#')+1);
		if ($('#' + id).length){
			$('#fader').fadeIn(1000,function(){
				$('#' + id).css({
					'top': ( self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop) )+100,
					'display': 'block'
				});
			});
			return false;
		}
	});
}

function initPopupGallery(){
	$('#main div.preview-photos div.image > div.container').cycle('pause');

	firstCycle = true;
	$('#popup-gallery div.preview-photos div.slide').cycle({
		pager:  '#popup-gallery div.preview-photos > ul.icons',
		timeout: 0,
		pagerAnchorBuilder: function(idx, slide) {
			return '#popup-gallery ul.icons li:eq(' + idx + ') a';
		},
		before: function(currSlideElement, nextSlideElement, options, forwardFlag){
			$('#popup-gallery div.preview-photos > ul.icons img').css('opacity','1');
			if (firstCycle) {
				$('#popup-gallery div.preview-photos > ul.icons li:nth-child('+ options.nextSlide +') img').css('opacity','0.4');
				firstCycle = false;
			}
			else {
				$('#popup-gallery div.preview-photos > ul.icons li:nth-child('+ (options.nextSlide + 1) +') img').css('opacity','0.4');
			}
		}
	});
}


/* ajax Tabs */
var first_sub_tab;
function initTabs(value){

	var countries = new ddajaxtabs("countrytabs", "countrydivcontainer");
	countries.setpersist(true);
	countries.setselectedClassTarget("link"); //"link" or "linkparent"
	countries.init();
	
	var fadeInSpeed = 200;
	var fadeOutSpeed = 200;
	var animateSpeed = 350;
	
	var tabsContentOldHeight = $('div.tabs div.fade-effect').height();
	var tabsContentOld = $('div.tabs div.fade-effect').html();

	countries.onajaxpageload = function(pageurl){
		var tabsContentNew = $('div.tabs div.fade-effect').html();
		
		if (tabsContentOld != tabsContentNew) {
			$('div.tabs div.fade-effect').html(tabsContentOld);
			$('div.tabs div.fade-effect').fadeOut(fadeOutSpeed, function(){
				$('div.tabs div.fade-effect').html(tabsContentNew);
				
				var tabsContentNewHeight = $('div.tabs div.fade-effect').css({'display':'block','visibility':'hidden'}).height();
				$('div.tabs div.fade-effect').css({'height':tabsContentOldHeight});
				$('div.tabs div.fade-effect').animate(
					{'height':tabsContentNewHeight},
					animateSpeed,
					'',
					function(){
						$(this).css({'visibility':'visible','height':'auto','display':'none'});
						$(this).fadeIn(fadeInSpeed);
						tabsContentOldHeight = $(this).height();
						tabsContentOld = $('div.tabs div.fade-effect').html();
						first_sub_tab = true;
						initTabs2(value, pageurl);
					}
				);
			});
		}
	}
}

function initTabs2(value, pageurl){
	if (pageurl.indexOf(value) != -1){
		provinces = new ddajaxtabs("provincetabs", "provincedivcontainer");
		provinces.setpersist(true);
		provinces.setselectedClassTarget("link"); //"link" or "linkparent"
		provinces.init();

		var fadeInSpeed = 200;
		var fadeOutSpeed = 200;
		var animateSpeed = 350;
	
		var tabsContentOldHeight2 = $('div.tabs div.fade-effect2').height();
		var tabsContentOld2 = $('div.tabs div.fade-effect2').html();
		
		provinces.onajaxpageload = function(pageurl){
			
			var tabsContentNew2 = $('div.tabs div.fade-effect2').html();
		
			if (tabsContentOld2 != tabsContentNew2) {
				$('div.tabs div.fade-effect2').html(tabsContentOld2);
				$('div.tabs div.fade-effect2').fadeOut(fadeOutSpeed, function(){
					$('div.tabs div.fade-effect2').html(tabsContentNew2);
					
					var tabsContentNewHeight2 = $('div.tabs div.fade-effect2').css({'display':'block','visibility':'hidden'}).height();
					$('div.tabs div.fade-effect2').css({'height':tabsContentOldHeight2});
					$('div.tabs div.fade-effect2').animate(
						{'height':tabsContentNewHeight2},
						animateSpeed,
						'',
						function(){
							$(this).css({'visibility':'visible','height':'auto','display':'none'});
							$(this).fadeIn(fadeInSpeed);
							tabsContentOldHeight2 = $(this).height();
							tabsContentOld2 = $('div.tabs div.fade-effect2').html();
						}
					);
				});
			}
		}
		
	}
}


/* tabs at page "Shop at Home"  */
function initSahTabs(){
	if ($('div.sah-tabs').length == 0) return false;
	
	$('div.sah-tabs ul.tabs-list a').css({
		'float':'none',
		'display':'inline'
	});
	
	var allStepsWidth = $('div.sah-tabs ul.tabs-list').width();
	
	var textWidth = 0;
	var count = 0;
	$('div.sah-tabs ul.tabs-list > li > a').each(function(){
		textWidth += $(this).width();
		count++;
	});
	
	var paddingSpan = Math.round(((allStepsWidth - textWidth)/count)/2);
	
	$('div.sah-tabs ul.tabs-list > li > a').css({
		'float':'left',
		'padding-left': paddingSpan,
		'padding-right': paddingSpan
	});
	
	$('div.sah-tabs ul.tabs-list > li.last > a').css({
		'float':'none',
		'display':'block',
		'padding-left': paddingSpan,
		'padding-right': 0
	});
	
	var animation = false;
	$('div.sah-tabs ul.tabs-list > li > a').click(function(e){
		
		if ($(this).attr('href').charAt(0) == '#'){
			var clickedLink = $(this);
			
			if (animation) return false;
			animation = true;
			
			var id = $(this).attr('href').substring(1);
			
			var tabsContentOldHeight = $('div.sah-tabs div.active-content').height();
			
			$('div.sah-tabs div.active-content').fadeOut(200, function(){
				$('div.sah-tabs ul.tabs-list > li > a').removeClass('active');
				$('div.sah-tabs div.tabs-content').removeClass('active-content');
				
				$(clickedLink).addClass('active');
				$('#'+id).addClass('active-content');
				
				var tabsContentNewHeight = $('div.sah-tabs div.active-content').css({'display':'block','visibility':'hidden'}).height();
				
				$('div.sah-tabs div.active-content').css({'height':tabsContentOldHeight});
				$('div.sah-tabs div.active-content').animate(
					{'height':tabsContentNewHeight},
					350,
					'',
					function(){
						$(this).css({'visibility':'visible','height':'auto','display':'none'});
						$(this).fadeIn(200,function(){
							animation = false;
						});
						tabsContentOldHeight = $(this).height();
					}
				);
			});
			
			return false;
		}
	});
}


/* steps expand to fill the width of the bar */
function initStepsWidth(){
	if ($('#content div.steps').length == 0) return false;
	
	$('#content div.steps').each(function(){
		var allStepsWidth = $(this).width();
		
		var textWidth = 0;
		var count = 0;
		$(this).find('ul li').css({'float':'left','display':'inline'}).find('span').css({'float':'left','display':'inline','padding':0});
		
		$(this).find('ul li').each(function(){
			textWidth += $(this).width();
			count++;
		});
		
		var paddingSpan = Math.round((((allStepsWidth - textWidth)/count)-3)/2);
		
		$(this).find('ul li > span').css({
			'padding-left': paddingSpan,
			'padding-right': paddingSpan + 3
		});
		
		$(this).find('ul li.active > span').css({
			'padding-right': paddingSpan + 3 + 15
		});
		
		$(this).find('ul li > span.first').css({
			'padding-right': 0
		}).find('span').css({
			'padding-right': paddingSpan + 3
		});
		$(this).find('ul li.active > span.first').css({
			'padding-right': 0
		}).find('span').css({
			'padding-right': paddingSpan + 3 + 15
		});
		
		$(this).find('ul li.last').css({
			'float': 'none'
		});
		$(this).find('ul li.last > span.last').css({
			'padding': 0
		}).find('span').css({
			'padding-left': paddingSpan,
			'padding-right': 0
		});
	});
}

