function log(e) {
	//return false;
	if( typeof (console) == 'object')
		console.log(e);
	//else alert(e);
}

// pridat stranku do zaloziek
function AddFavorite(linkObj, addUrl3, addTitle3) {
	if(document.all && !window.opera) {
		window.external.AddFavorite(addUrl3, addTitle3);
		return false;
	}
	else if(window.opera && window.print) {
		linkObj.title = addTitle3;
		return true;
	}
	else if(( typeof window.sidebar == 'object') && ( typeof window.sidebar.addPanel == 'function')) {
		window.sidebar.addPanel(addTitle3, addUrl3, '');
		return false;
	}
	window.alert('Po potvrzení stiskněte CTRL-D,\nstránka bude přidána k Vašim oblíbeným odkazům.');
	return false;
}

/*
 <a href="#" onclick="return AddFavorite(this,'http://<?=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].($_GET['lang']?'?lang='.$_GET['lang']:'')?>','Energy 21 - <?=$title?>');">Přidat do oblíbených</a>
 */
var menu = {
	config : {
		listLI : 'ul#menuMain > li',
		listUL : 'ul#menuMain',
		duration : 150
	},
	init : function() {
		if(!$(this.config.listLI).length)
			return false;
		$(this.config.listLI).children().children('span').after('<span class="overlay"></span>');
		$(this.config.listLI).children('ul').hide();
		$(this.config.listLI).each(function() {
			if(!$(this).children('ul').children('li').length)
				$(this).children('ul').remove();
		});
		$(this.config.listLI).hover(menu.min, menu.mout);
		$(this.config.listUL).removeClass('static');
	},
	min : function() {
		if($(this).hasClass('act')) {
			$(this).children('ul').show();
		}
		else {
			$(this).children('ul').show();
			$(this).children().children('.overlay').animate({
			top: '0px'
			}, menu.config.duration).queue(function() {
				//$(this).parent().parent().children('ul').show();//slideDown(menu.config.duration);
				$(this).addClass('opened');
				$(this).dequeue();
			});
		}
	},
	mout : function() {
		if($(this).children('ul').length) {
			$(this).children('ul').hide().queue(function() { //.slideUp(menu.config.duration)
				$(this).parent().children().children('.overlay').animate({
				top: '48px'
				}, menu.config.duration).removeClass('opened');
				$(this).dequeue();
			});
		}
		else {
			$(this).children().children('.overlay').animate({
			top: '48px'
			}, menu.config.duration).removeClass('opened');
		}
		if(!$(this).hasClass('act')) {
			setTimeout('menu.afterCheck(\'' + $(this).attr('id') + '\')', menu.config.duration * 2.5);
		}
	},
	afterCheck : function(id) {
		$('#' + id).children('ul').hide();
	}
}

//auto rollovers
var imageHover = {
	elementsFilter : '*[src*=but_]',//, #partners img',
	replaceSrcNormal : '.png',
	replaceSrcHover : '_hover.png',
	init : function() {
		if(!$(this.elementsFilter).length)
			return false;
		$(this.elementsFilter).each(function(key) {
			imageHover.images[key] = new Image();
			imageHover.images[key].src = $(this).attr('src').replace(imageHover.replaceSrcNormal, imageHover.replaceSrcHover);
			//if(imageHover.isLoaded(imageHover.images[key]))
			//{
			$(this).hover(function() {
				$(this).attr('src', $(this).attr('src').replace(imageHover.replaceSrcNormal, imageHover.replaceSrcHover));
			}, function() {
				$(this).attr('src', $(this).attr('src').replace(imageHover.replaceSrcHover, imageHover.replaceSrcNormal));
			});
			//}
		});
	},
	isLoaded : function(el) {
		if(!el.complete) {
			return false;
		}
		if( typeof el.naturalWidth != "undefined" && el.naturalWidth == 0) {
			return false;
		}
		return true;
	},
	images : new Array()
}

var bookmarks = {
	config : {
		wrapper : '.bookmarks',
		activeLink : 'act'
	},
	init : function() {
		if(!$(this.config.wrapper).length)
			return false;
		$('.bookmarkHeader').hide();
		$('.bookmarkContent').addClass('bookmarkContentJS');
		$('.bookmarkContent').hide();
		$(this.config.wrapper).show().each(function() {
			if(!window.location.hash.length) {
				$(this).children('a:first').addClass('first').addClass(bookmarks.config.activeLink);
			}
			else {
				if(!$(window.location.hash).length) {
					$(this).children('a:first').addClass('first').addClass(bookmarks.config.activeLink);
				}
				else {
					$(this).children('a[href*="' + window.location.hash + '"]').addClass('first').addClass(bookmarks.config.activeLink);
				}
			}

			$(this).children('a').click(function() {
				bookmarks.show($(this));
				window.location.hash = $(this).attr('href');
				$('html,body').animate({
					scrollTop : $($(this).attr('href')).offset().top - 100
				}, 0);
				return false;
			});
			$($(this).children('a.' + bookmarks.config.activeLink + '').attr('href')).show();

		});
	},
	show : function(controller) {
		$(bookmarks.config.wrapper + ' a').each(function() {
			$($(this).removeClass(bookmarks.config.activeLink).attr('href')).hide()
		});
		$($(controller).addClass(bookmarks.config.activeLink).attr('href')).show();

	}
}

var poll = {
	config : {
		wrapperId : '.poll'
	},
	init : function() {
		if(!$(this.config.wrapperId).length)
			return false;

		$('.poll span.othersrc').each(function() {

			$(this).find('input').click(function() {

				if($(this).attr('checked'))
					$(this).parent().parent().parent().children('.other').show();
				else
					$(this).parent().parent().parent().children('.other').hide();

			});
			$(this).parent().children('.other').filter(function(){
			return !$(this).parent().find('.othersrc').find('input').attr('checked')
			}).hide();
		});
	}
}

var articleSlider = {
	config : {
		wrapperId : '#articleSlider',
		innerId : '#articleSliderInner',
		pagerId : '#articleSliderPager',
		controlsL : '<a href="#" id="sliderPrev" onclick="articleSlider.prev();return false;"><span>&lt;</span></a>',
		controlsR : '<a href="#" id="sliderNext" onclick="articleSlider.next();return false;"><span>&gt;</span></a>',
		durSkip : 500
	},
	init : function() {
		if(!$(this.config.wrapperId).length)
			return false;

		articleSlider.itemsCount = $(articleSlider.config.innerId).children().length;
		if(articleSlider.itemsCount > 1) {
			articleSlider.step = parseInt($(articleSlider.config.wrapperId).width());
			articleSlider.active = 0;

			articleSlider.controls = articleSlider.config.controlsL;
			for(var i = 0; i < articleSlider.itemsCount; i++) {
				articleSlider.controls += '<a href="#" onclick="articleSlider.slide(' + i + ');return false;" class="slide">' + (i + 1) + '</a>';
			}
			articleSlider.controls += articleSlider.config.controlsR;
			$(articleSlider.config.wrapperId).after('<p id="' + (articleSlider.config.pagerId.replace('#', '')) + '" class="cleaned"><span class="inner">' + articleSlider.controls + '</span></p>');
			$(articleSlider.config.pagerId).children('.slide:eq(' + (articleSlider.itemsCount - 1) + ')').addClass('last');
			articleSlider.slide(0);
		}
	},
	slide : function(n) {
		articleSlider.active = n;
		$(articleSlider.config.innerId).animate({
			marginLeft : -articleSlider.active * articleSlider.step + 'px'
		}, articleSlider.config.durSkip);
		$(articleSlider.config.pagerId).children('.slide').removeClass('act');
		$(articleSlider.config.pagerId).children('.slide:eq(' + articleSlider.active + ')').addClass('act');
		clearTimeout(articleSlider.timeoutHandler);
		articleSlider.timeoutHandler = setTimeout('articleSlider.next()', 8000);
	},
	prev : function() {
		if(articleSlider.active > 0)
			articleSlider.slide(articleSlider.active - 1);
		else
			articleSlider.slide(articleSlider.itemsCount - 1);
	},
	next : function() {
		if(articleSlider.active < articleSlider.itemsCount - 1)
			articleSlider.slide(articleSlider.active + 1);
		else
			articleSlider.slide(0);
	}
}

// DEMAND FORMS
var order = {
	config : {
		wrapperId : '#demandForms',
		itemId : '.demandForm',
		//        itemId: '.demandForm:not(.new)',
		chatBlinks : 3
	},
	init : function() {
		if(!$(this.config.wrapperId).length)
			return false;
		//        if (typeof(DEVELOPER) == 'undefined')
		//            return false;

		order.el.form = $(this.config.wrapperId);

		$('a[href*=#demand-form-]').fancybox({
			speedIn : 600,
			speedOut : 200,
			//hideOnContentClick: true,
			autoDimensions : true,
			centerOnScroll : true,
			showCloseButton : false,
			showNavArrows : false,
			enableEscapeButton : false,
			overlayShow : true,
			overlayOpacity : 0.8,
			overlayColor : '#D6E5F3',
			useLRKeys : false,
			titleShow : false,
			//width: 526,
			//height: fboxHeight,
			onClosed : function() {
				order.minimizeChat()
			},
			onComplete : function() {
				if(!($.browser.msie && $.browser.version <= 7 )) {
					var bwidth = 554;
					$('#fancybox-wrap').width(bwidth + 'px');
					$('#fancybox-inner').width( bwidth - 20 + 'px');
				}

				order.openedId = $('#fancybox-inner').find(order.config.itemId).attr('id');
				//                log('opened id: ' + order.openedId);
			}
		});

		order.initSubmitCatch();
		order.initFormActions();

		//$zopim.livechat.window.show();
		$zopim.livechat.window.setColor('#ff0000');
		setTimeout(function() {
			$zopim.livechat.window.setColor('');
			//$zopim.livechat.window.hide();
		}, 100);
	},
	initFormActions : function() {
		//log('init actions');
		$('.demandForm input[type=checkbox]').each(function() {
			order.cToggleState($(this));
		})
		$('.demandForm input[type=checkbox]').bind('focus click', function() {
			order.cToggleState($(this));
		});
	},
	openedId : false,
	initSubmitCatch : function(elid) {
		var el;
		if( typeof (elid) != 'undefined') {
			el = $('#' + elid);
			el.unbind('submit');
			//            log('reinit submit on id: ' + elid);
		}
		else {
			el = $(this.config.itemId);
			//            log('init submit on all');
		}
		el.submit(function() {
			var purl = $(this).attr('action');
			var pid = $(this).attr('id');
			var pdata = $(this).serialize();
			pdata += '&formid=' + pid;
			order.toggleLoading(1);
			$.post($(this).attr('action'), pdata, function(data) {
				var dform = $(data).find('#' + pid);
				//                log('finding form in result ' + pid);
				$('#fancybox-inner').html(dform);
				order.initSubmitCatch(pid);
				order.initFormActions(pid);
				if(order.isSent(dform)) {
					order.track.sendEvent();
				}
				order.toggleLoading(0);
			}, 'html');
			return false;

		});
	},
	/**
	 * Tracking events with GA
	 */
	track : {
		/**
		 * Check if is tracking installed
		 */
		isInstalled : function() {
			return typeof _gaq == 'object' && typeof _gaq.push == 'function'
		},
		/**
		 * Track form send
		 */
		sendEvent : function() {
			if(order.track.isInstalled()) {
				_gaq.push(['_trackPageview', "/poptavka.html"]);
			}
		}
	},

	/**
	 * Checks if submitted form was sent or error appeared
	 */
	isSent : function(form) {
		return !$(form).find('.error').length;
	},
	el : {},
	closePopup : function() {
		$.fancybox.close();
		order.minimizeChat();

		$.get(window.location.href, 'formid=' + order.openedId, function(data) {
			var dform = $(data).find('#' + order.openedId);
			$(order.openedId).replaceWith(dform);
			order.initSubmitCatch(order.openedId);
			order.initFormActions(order.openedId);
			//            log('reloaded id:' + order.openedId);
			order.openedId = false;
		}, 'html');
	},
	minimizeChat : function() {
		$zopim.livechat.window.setColor('');
	},
	initChat : function() {
		$zopim.livechat.set({
			name : $('#fancybox-inner input[name*=usr_demand_name]').attr('value'),
			email : $('#fancybox-inner input[name*=usr_demand_email]').attr('value')
		});
		$zopim.livechat.window.show();
		for(var i = 0; i < order.config.chatBlinks * 2; i = i + 2) {
			setTimeout(function() {
				$zopim.livechat.window.setColor('#ff0000');
			}, 300 * i);
			setTimeout(function() {
				$zopim.livechat.window.setColor('');
			}, 300 * (i + 1));
		}
	},
	cToggleState : function(el) {
		if($(el).attr('checked')) {
			var pinput = $(el).parents('.entries').find('.pieces').show().find('input[type=text]');
			if(!pinput.attr('value')) {
				pinput.attr('value', '1');
			}
		}
		else {
			var pinput = $(el).parents('.entries').find('.pieces').hide().find('input[type=text]');
			//.attr('value', '0');
			pinput.attr('value', '');
		}
	},
	toggleLoading : function(oo) {
		if(oo === 1) {
			$('#fancybox-outer').append('<div id="order-fancy-loading"><div class="innerA"><!-- --></div><div class="innerB"><!-- --></div></div>')
		}
		else if(oo === 0) {
			$('#order-fancy-loading').remove();
		}

	}
}

// DOWNLOAD FORMS
var orderDownload = {
	config : {
		wrapperId : '#downloadForms',
		itemId : '.downloadForm',
		//        itemId: '.downloadForm:not(.new)',
		chatBlinks : 3
	},
	init : function() {
		if(!$(this.config.wrapperId).length)
			return false;
		//        if (typeof(DEVELOPER) == 'undefined')
		//            return false;

		orderDownload.el.form = $(this.config.wrapperId);

		$('a[href*=#download-form-]').fancybox({
			speedIn : 600,
			speedOut : 200,
			//hideOnContentClick: true,
			autoDimensions : true,
			centerOnScroll : true,
			showCloseButton : false,
			showNavArrows : false,
			enableEscapeButton : false,
			overlayShow : true,
			overlayOpacity : 0.8,
			overlayColor : '#D6E5F3',
			useLRKeys : false,
			titleShow : false,
			//width: 526,
			//height: fboxHeight,
			onClosed : function() {
				orderDownload.minimizeChat()
			},
			onComplete : function() {
				if(!($.browser.msie && $.browser.version <= 7 )) {
					var bwidth = 554;
					$('#fancybox-wrap').width(bwidth + 'px');
					$('#fancybox-inner').width( bwidth - 20 + 'px');
				}

				orderDownload.openedId = $('#fancybox-inner').find(orderDownload.config.itemId).attr('id');
				//                log('opened id: ' + orderDownload.openedId);
			}
		});

		orderDownload.initSubmitCatch();
		orderDownload.initFormActions();

		//$zopim.livechat.window.show();
		$zopim.livechat.window.setColor('#ff0000');
		setTimeout(function() {
			$zopim.livechat.window.setColor('');
			//$zopim.livechat.window.hide();
		}, 100);
	},
	initFormActions : function() {
		//log('init actions');
		$('.downloadForm input[type=checkbox]').each(function() {
			orderDownload.cToggleState($(this));
		})
		$('.downloadForm input[type=checkbox]').bind('focus click', function() {
			orderDownload.cToggleState($(this));
		});
	},
	openedId : false,
	initSubmitCatch : function(elid) {
		var el;
		if( typeof (elid) != 'undefined') {
			el = $('#' + elid);
			el.unbind('submit');
			//            log('reinit submit on id: ' + elid);
		}
		else {
			el = $(this.config.itemId);
			//            log('init submit on all');
		}
		el.submit(function() {
			var purl = $(this).attr('action');
			var pid = $(this).attr('id');
			var pdata = $(this).serialize();
			pdata += '&formid=' + pid;
			orderDownload.toggleLoading(1);
			$.post($(this).attr('action'), pdata, function(data) {
				var dform = $(data).find('#' + pid);
				//                log('finding form in result ' + pid);
				$('#fancybox-inner').html(dform);
				orderDownload.initSubmitCatch(pid);
				orderDownload.initFormActions(pid);
				if(orderDownload.isSent(dform)) {
					orderDownload.track.sendEvent();
				}
				orderDownload.toggleLoading(0);
			}, 'html');
			return false;

		});
	},
	/**
	 * Tracking events with GA
	 */
	track : {
		/**
		 * Check if is tracking installed
		 */
		isInstalled : function() {
			return typeof _gaq == 'object' && typeof _gaq.push == 'function'
		},
		/**
		 * Track form send
		 */
		sendEvent : function() {
			if(orderDownload.track.isInstalled()) {
				_gaq.push(['_trackPageview', "/download.html"]);
			}
		}
	},

	/**
	 * Checks if submitted form was sent or error appeared
	 */
	isSent : function(form) {
		return !$(form).find('.error').length;
	},
	el : {},
	closePopup : function() {
		$.fancybox.close();
		orderDownload.minimizeChat();

		$.get(window.location.href, 'formid=' + orderDownload.openedId, function(data) {
			var dform = $(data).find('#' + orderDownload.openedId);
			$(orderDownload.openedId).replaceWith(dform);
			orderDownload.initSubmitCatch(orderDownload.openedId);
			orderDownload.initFormActions(orderDownload.openedId);
			//            log('reloaded id:' + orderDownload.openedId);
			orderDownload.openedId = false;
		}, 'html');
	},
	minimizeChat : function() {
		$zopim.livechat.window.setColor('');
	},
	initChat : function() {
		$zopim.livechat.set({
			name : $('#fancybox-inner input[name*=usr_download_name]').attr('value'),
			email : $('#fancybox-inner input[name*=usr_download_email]').attr('value')
		});
		$zopim.livechat.window.show();
		for(var i = 0; i < orderDownload.config.chatBlinks * 2; i = i + 2) {
			setTimeout(function() {
				$zopim.livechat.window.setColor('#ff0000');
			}, 300 * i);
			setTimeout(function() {
				$zopim.livechat.window.setColor('');
			}, 300 * (i + 1));
		}
	},
	cToggleState : function(el) {
		if($(el).attr('checked')) {
			var pinput = $(el).parents('.entries').find('.pieces').show().find('input[type=text]');
			if(!pinput.attr('value')) {
				pinput.attr('value', '1');
			}
		}
		else {
			var pinput = $(el).parents('.entries').find('.pieces').hide().find('input[type=text]');
			//.attr('value', '0');
			pinput.attr('value', '');
		}
	},
	toggleLoading : function(oo) {
		if(oo === 1) {
			$('#fancybox-outer').append('<div id="orderDownload-fancy-loading"><div class="innerA"><!-- --></div><div class="innerB"><!-- --></div></div>')
		}
		else if(oo === 0) {
			$('#orderDownload-fancy-loading').remove();
		}

	}
}

function contactFormHighlight() {
	$('a[href=#contactForm]').click(function() {
		$('#contactForm').colorBlend([{
			colorList : ["#ffffff", "#e3fbca"],
			param : "background-color",
			cycles : 3,
			duration : 800
		}]);
	});
}

function DynMenu(menu, followLink) {
	var self = this;

	self.menu = $(menu);
	self.items = self.menu.find('li');
	self.followLink = followLink;

	self.items.each(function() {
		// Add control
		$(this).append('<span class="control"></span>');
		// Open self
		$(this).children('.control').click(function() {
			// Click to open
			if(!self.followLink) {
				$(this).parent().toggleClass('opened');
				$(this).siblings('ul').toggle();
				//.slideToggle();
				return false;
			}
		});
		// Hide menus
		if(!$(this).hasClass('opened')) {
			$(this).find('ul').hide();
		}
	});
}

var ContextBox = {
	config : {
		boxId : '#context',
		parId : '#main',
		boxOffsetX : -9,
		boxOffsetY : 12,
		currentTop : 0,
		currentLeft : 0,
		timeout : 20 // msec
	},
	init : function() {
		ContextBox.config.current = $(ContextBox.config.boxId ).position();
		ContextBox.setPosition();
		setTimeout('$(ContextBox.config.boxId ).css("visibility", "visible" ); $(ContextBox.config.boxId ).fadeIn(2000);', 800);
		// On page scroll
		$(document).scroll(function() {
			ContextBox.setPosition();
		});
		// On window resize
		$(window).resize(function() {
			ContextBox.setPosition();
		});
		// Zopim
		var zlink = $('#cxBusinessman a');
		zlink.click(function() {
			// Use order object method
			order.initChat();
			return false;
		});
		// Zopim status change definition
		$zopim.livechat.setOnStatus(function(a) {
			var messages = {
				away : 'PRYČ',
				online : 'ONLINE',
				offline : 'OFFLINE',
			};
			zlink.text('obchodník je ' + messages[a]);
		});
	},
	setPosition : function() {
		if(($(ContextBox.config.boxId ).height() + ContextBox.config.boxOffsetY ) < window.innerHeight) {
			$(ContextBox.config.boxId ).css('position', 'fixed');
			ContextBox.relPosition = $(ContextBox.config.parId ).position();
			$(ContextBox.config.boxId ).css('left', ContextBox.relPosition.left -  $(ContextBox.config.boxId ).width() + ContextBox.config.boxOffsetX);
			$(ContextBox.config.boxId ).css('top', ContextBox.relPosition.top - ($(window).scrollTop() < ContextBox.relPosition.top ? $(window).scrollTop() : ContextBox.relPosition.top ) + ContextBox.config.boxOffsetY);
		}
		else {
			$(ContextBox.config.boxId ).css('position', 'absolute');
			$(ContextBox.config.boxId ).css('left', ContextBox.config.current.left);
			$(ContextBox.config.boxId ).css('top', ContextBox.config.current.top);
		}
		//setTimeout('ContextBox.setPosition()', ContextBox.config.timeout );
	}
};

// DOWNLOAD FORMS --------------------------------------------------------------------------

//--------------------------------------------------------------------------

$(document).ready(function() {

	menu.init();
	imageHover.init();

	new DynMenu('#subMenu > ul');

	$('a[rel*=lightbox],.productImages a').lightBox({
		overlayBgColor : '#D6E5F3',
		containerResizeSpeed : 200
	});
	bookmarks.init();

	$('#topAnchors li').children('a').click(function() {
		bookmarks.show($(this));
		$(bookmarks.config.wrapper + ' a[href*="' + $(this).attr('href') + '"]').addClass(bookmarks.config.activeLink)
		window.location.hash = $(this).attr('href');
		$('html,body').animate({
			scrollTop : $($(this).attr('href')).offset().top - 100
		}, 'slow');

		return false;
	});
	//$('a.link.index').wrapInner('<span></span>');
	poll.init();
	articleSlider.init();

	try {
		$('#twitter a').cTwitter({
			userId : '71503414'
		});
	}
	catch(e) {
	}
	order.init();
	orderDownload.init();

	contactFormHighlight();

	ContextBox.init();

	//

})
//--------------------------------------------------------------------------
