var gall1, gall2, gall3,_klickad =null;
var FopenDisplay ='none';
var LopenOpacity,loaded = 0;
var shouldFade = 1;
var FopenSpeed, LopenSpeed, FopenOpacity;

jQuery.fn.vvGalleryScroll = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		btnPrev: 'a.link-prev',
		btnNext: 'a.link-next',
		holderList: 'div',
		scrollElParent: 'ul',
		scrollEl: 'li',
		duration : 1000,
		step: false,
		event: 'click',
		circleSlide: true,
		disableClass: 'disable',
		autoSlide:false,
		onBeforeChange: null,
		onChange: null
	},_options);

	return this.each(function(){
		var _this = this;
		var _holderBlock = jQuery(_this);
		var _moover = jQuery(_options.scrollElParent,_holderBlock);
		var _liWidth = jQuery(_options.scrollEl,_moover).outerWidth(true);
		var _gWidth = _holderBlock.width();
		var _liSum = jQuery(_options.scrollEl,_moover).length * _liWidth;
		var _step = 0, _t = null, _mM=parseInt(_moover.css('marginLeft'),10);
		var _a = 0;
//step
		if(typeof(_options.step)=='number') _step = _options.step;
		else if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
		if(!_options.circleSlide){
			if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
			else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
		};
		_step=160;
//prev btn
		if(jQuery(_options.btnPrev, _this)){
			jQuery(_options.btnPrev, _this).unbind(_options.event).bind(_options.event, function(){
				if(!jQuery(this).hasClass(_options.disableClass)){
					jQuery(_options.btnNext,_this).removeClass(_options.disableClass);
					if(_mM - _step<0) (_mM!=0) ? _mM=0 : (_options.circleSlide ? _mM = _liSum - _gWidth : jQuery(_options.btnPrev,_this).addClass(_options.disableClass));
					else _mM -= _step;
					if(_a!= 0) _a--;
					else _a =jQuery(_options.scrollEl,_moover).length-1;
					_this.rotate(_mM);
				}
				return false;
			});
		};
//next btn
		if(jQuery(_options.btnNext, _this)){
			jQuery(_options.btnNext, _this).unbind(_options.event).bind(_options.event, function(){
				if(!jQuery(this).hasClass(_options.disableClass)){
					jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
					if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
					else _mM += _step;
					if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
					else _a =0;
					_this.rotate(_mM);
				}
				return false;
			});
		};
//animate
		_this.rotate = function(_mM){
			if(_t) clearTimeout(_t);
			if (jQuery.isFunction(_options.onBeforeChange)) {
				_options.onBeforeChange.apply(_this);
			}
			if(!_options.circleSlide){
				if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
				else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
			};
			_moover.animate({marginLeft: -_mM},{duration: _options.duration, queue: false, complete: function(){
				if (jQuery.isFunction(_options.onChange)) {
					_options.onChange.apply(_this);
				}
				_this.autoslide();
			}});
		};
//autoslide
		_this.autoslide = function(){
			if(_options.autoSlide && _liSum >= _gWidth){
				if(_t) clearTimeout(_t);
				_t = setTimeout(function(){
					jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
					if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
					else _mM += _step;
					if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
					else _a =0;
					_this.rotate(_mM);
				}, _options.autoSlide);
			};
		};
		_this.autoslide();
//disable btns next/prev if need
		if (_liSum <= _gWidth) {
			jQuery(_options.btnPrev,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){return false;});
			jQuery(_options.btnNext,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){return false;});
		};
	});
};

function gallery(hold) {
	//aaaaaa
	var gal;
	if(hold== undefined) {
		gal = jQuery('.gallery-row:last');
		gall1 = gal;
	}else gal = hold;
	jQuery(gal).vvGalleryScroll({
		scrollElParent: 'ul.gallery',
		scrollEl: '> li',
		thumbs: '.gallery-nav .thumbs li',
		btnPrev: 'a.btn-prev',
		btnNext: 'a.btn-next',
		duration : 1000,
		step: true
	});
	var links = jQuery('ul.gallery li a', gal);
	links.click(function(){


		//denna körs när man öppnar en ny rad...


		var _initlink = jQuery(this);
		var _li = _initlink.parents('ul:eq(0)').children();
		_li.removeClass('active');
		var ind = _li.index(jQuery(this).parent());
		_li.eq(ind).addClass('active');

		if(!jQuery(this).hasClass('open-popup')){
			jQuery(this).parents('.gallery-row:eq(0)').nextAll().remove();
			
			//added 2010-04-26
			jQuery.scrollTo( jQuery('.gallery-row:eq(0)'), {speed:1500} );
			var _url = jQuery(this).attr('href');
			jQuery.ajax({
				url: _url,
				success: function(html){
					var _html = jQuery(html);
					gal.after(_html);
					gallery(_html);
					initLightbox();
				}
			});
		};
		return false;
	});
}
function initLightbox(){
	var _fader, _lightbox;
	if (!jQuery('div.lightbox-content').length)
		jQuery('body').append('<div class="lightbox-content"></div>');
	if (!jQuery('div.lightbox-fader').length)
		jQuery('body').append('<div class="lightbox-fader"></div>');
	if (!jQuery('div.lightbox-error').length)
		jQuery('body').append('<div class="lightbox-loader"><img src="images/loader.gif" alt="image"></div>');

	_lightbox = jQuery('div.lightbox-content');
	_loader = jQuery('div.lightbox-loader');
	_fader = jQuery('div.lightbox-fader');
	_fader.opacity= 0.75;
	_lightbox.showTime = 300;
		if (jQuery.browser.msie && jQuery.browser.version > 6) {_lightbox.showTime = 0;}
	_fader.css({
		backgroundColor: '#2b4542',
		display:'none',
		position:'fixed',
		top:0,
		left:0,
		zIndex:990,
		textIndent: -9999
	}).text('&nbsp;');
	_lightbox.css({
		opacity:0,
		position: 'absolute',
		top: 0,
		width: '100%',
		left: 0
	}); 
	_loader.css({
		display:'none',
		position:'absolute',
		top: '50%',
		left:'50%',
		zIndex:998
	})
	if(typeof(document.body.style.maxHeight) == 'undefined'){
		var _frame = jQuery('<iframe src="javascript:false" />');
		_fader.html(_frame);
		_frame.css({
			opacity: 0,
			clear: 'both',
			position: 'absolute',
			left: 0,
			top: 0,
			width: "100%",
			height: "100%",
			zIndex: 0
		});
	}
	function init(){
		if(shouldFade==0) { 
		FopenSpeed = 0; 
		LopenSpeed = 0; 
		FopenOpacity = 1; 
		LopenOpacity = 1;
		FopenDisplay ='block';
		} else { 
		FopenSpeed = 400;
		LopenSpeed = _lightbox.showTime;
		FopenOpacity = 0;
		LopenOpacity = 0;
		FopenDisplay ='none';
		shouldFade=0;
		}


		var _links = jQuery('a.open-popup');
		_links.unbind('click').bind('click',function(){
			var _this = jQuery(this);
			if (_this.attr('href').indexOf('#')==-1){
				_this.href = _this.attr('href');
				if(_this.parents('.lightbox-content').length){
					_fader.css({
						backgroundColor: '#2b4542',
						display:FopenDisplay,
						position:'fixed',
						top:0,
						left:0,
						zIndex:990,
						textIndent: -9999
					}).text('&nbsp;');
					_lightbox.css({
						opacity:LopenOpacity,
						position: 'absolute',
						top: 25,
						width: '100%',
						left: 0
					}); 
				};
				jQuery.ajax({
					url: _this.href,
					cache: false,
					success: function(msg){
						_lightbox.html(msg);
						_loader.show();
						var _images = _lightbox.find('img');
						if (_images.length){
							var _imgCount = _images.length;
							var _imgLoaded = 0;
							_images.each(function(){
								var _img = new Image();
								_img.onload = function(){
									_imgLoaded =_imgLoaded+1;
									if(_imgLoaded >= _imgCount) {
										showLightbox();
									};
								};
								_img.src = jQuery(this).attr('src');
							});
						} else showLightbox();
					},
					error: function(msg){
						_this.flag = true;
						_loader.show().html('Error loading');

						jQuery(document).keydown(function (e) {
							if (!e) evt = window.event;
							if (e.keyCode == 27) {
								_loader.fadeOut(300);
							}
						});
					}
				});
			}else{
				_lightbox = jQuery(_this.attr('href'));
				_loader.show();
				var _images = _lightbox.find('img');
				if (_images.length){
					var _imgCount = _images.length;
					var _imgLoaded = 0;
					_images.each(function(){
						var _img = new Image();
						_img.onload = function(){
							_imgLoaded =_imgLoaded+1;
							if(_imgLoaded >= _imgCount) {
								showLightbox();
							};
						};
						_img.src = jQuery(this).attr('src');
					});
				} else showLightbox();
			}

			function showLightbox(){
				jQuery(window).scrollTo('0px',0);
				var _close = _lightbox.find('a.close-popup');
				lightboxPosition();
				_loader.hide();
				_fader.css({opacity:FopenOpacity, display:'block'}).animate({opacity: _fader.opacity},FopenSpeed,function(){ 
					if (jQuery.browser.safari) {
						_lightbox.css({
							top: document.body.scrollTop + 25
						});
					} else {
						_lightbox.css({
							top: document.documentElement.scrollTop + 25
						});
					}
					_lightbox.css({opacity:1, display:'block'}).animate({opacity: 1},LopenSpeed,function(){ 
						_lightbox.css({opacity: 'auto'});
						init();
					});
				});

				//close lightbox
				_close.click(function(){
					hideLightbox();
					return false;
				})
			}
			function hideLightbox(){
				shouldFade=1;
				_fader.animate({opacity:0},300,function(){
					_fader.css({display: 'none'});
				});
				_lightbox.animate({opacity: 0},_lightbox.showTime,function(){
					_lightbox.css({display: 'none'});
					_links = jQuery('a.open-popup');
				});
				init();
			}

			_fader.click(function(){
				hideLightbox();
			})
			
			jQuery(window).resize(function(){
				lightboxPosition();
			});
			function lightboxPosition(){
				var _height = 0;
				var _width = 0;
				var _minWidth = jQuery('body > div:eq(0)').outerWidth();
				var _page = jQuery('body > div:eq(0)');
				if (window.innerHeight) {
					_height = window.innerHeight;
					_width = window.innerWidth;
				} else {
					_height = document.documentElement.clientHeight;
					_width = document.documentElement.clientWidth;
				}
				var _thisHeight = _lightbox.outerHeight();
				if (_lightbox.length) {
					if (_height > _page.outerHeight(true)) _fader.css('height',_height); else _fader.css('height',_page.innerHeight());
					if (_width < _minWidth) {_fader.css('width',_minWidth);} else {_fader.css('width','100%');}
						if (_height > _thisHeight) {
							if (!window.innerHeight) {
								_fader.css({
									position:'absolute',
									top: 0
								});
							};
						};
				}

				jQuery(document).keydown(function (e) {
					if (!e) evt = window.event;
					if (e.keyCode == 27) {
						_lightbox.fadeOut(_lightbox.showTime, function(){
							_fader.fadeOut(300);
						});
					}
				});
			}
			return false;
		});
	}
	init();
}

function scrollNews(){
	jQuery('.fade-news').each(function(){
		var _this = jQuery(this);
		var _d = 2000;
		var _moover = jQuery('ul', _this);
		var _el = jQuery('> li', _moover);
		var _maxMar = _el.innerHeight(true);
		var _time = _maxMar*_d/100;
		var _loops = 0;
		var _thisUl = document.getElementById("js-news");
		var _noLi = _thisUl.getElementsByTagName("li");
		var _lis = _noLi.length-1
		//Redigera endast nedanstående 2 rader
		var _timeDelay = 4000; //tid till första upphissningen 
		var _timeOther = 3700; //tid för andra upphissningar
		
		_moover.append(_el.clone(true));
		/*_this.mouseenter(function(){
			_moover.stop();
			_time = (_maxMar+parseInt(_moover.css('marginTop'),10))*_d/100;
		}).mouseleave(function(){
			animate();
		})*/
		function animate(){
			_moover.delay(_timeDelay).animate({marginTop: -(_maxMar*_loops+_maxMar)},{duration: _time, easing: 'linear', complete: function(){
				if(_loops<_lis) {_loops += 1;_timeDelay=_timeOther;animate();} else {
				_moover.css('marginTop', 1);
				_time = _maxMar*_d/100;
				_loops = 0;
				animate();
				}
			}});
		};
		animate();
	});
}

jQuery(document).ready(function(){
	initLightbox();
	gallery();
	scrollNews();
	//dölj rad 2 om rad1 klickas på...
	


	//iframe med film
	jQuery(".iframe_flash_movie").bgiframe();
});

