// page init
$(function(){
	initAddClass();
	initPopups();
})

// toggle link function
function initAddClass() {
	addClass({
		tagName:'a',
		tagClass:'test-link',
		classAdd:'test-link'
	})
	addClass({
		tagName:'a',
		tagClass:'test-link',
		classAdd:'active',
		addToParent:true
	})
}
function addClass (_options) {
	var _tagName = _options.tagName;
	var _tagClass = _options.tagClass;
	var _classAdd = _options.classAdd;
	var _addToParent = false || _options.addToParent;
	var _el = document.getElementsByTagName(_tagName);
	if (_el) {
		for (var i=0; i < _el.length; i++) {
			if (_el[i].className.indexOf(_tagClass) != -1) {
				_el[i].onclick = function() {
					$('.tests-list:visible > li').removeClass('active');
					if (_addToParent) {
						if (this.parentNode.className.indexOf(_classAdd) == -1) {
							this.parentNode.className += ' '+_classAdd;
						} else {
							this.parentNode.className = this.parentNode.className.replace(_classAdd,'');
						}
					} else {
						if (this.className.indexOf(_classAdd) == -1) {
							this.className += ' '+_classAdd;
						} else {
							this.className = this.className.replace(_classAdd,'');
						}
					}
					return false;
				}
			}
		}
	}
}

// popups function
function initPopups() {
	var _zIndex = 1000;
	var _fadeSpeed = 350;
	var _faderOpacity = 0.75;
	var _faderBackground = '#000';
	var _faderId = 'lightbox-overlay';
	var _closeLink = 'a.close, a.cancel';
	var _fader;
	var _lightbox = null;
	var _ajaxClass = 'ajax-load';
	var _openers = $('a.open-popup');
	var _page = $('body > div:eq(0)');
	var _minWidth = _page.outerWidth();
	var _scroll = false;

	// init popup fader
	_fader = $('#'+_faderId);
	if(!_fader.length) {
		_fader = $('<div />');
		_fader.attr('id',_faderId);
		$('body').append(_fader);
	}
	_fader.css({
		opacity:_faderOpacity,
		backgroundColor:_faderBackground,
		position:'absolute',
		overflow:'hidden',
		display:'none',
		top:0,
		left:0,
		zIndex:_zIndex
	});

	// IE6 iframe fix
	if(jQuery.browser.msie && jQuery.browser.version < 7) {
		if(!_fader.children().length) {
			var _frame = jQuery('<iframe src="javascript:false" frameborder="0" scrolling="no" />');
			_frame.css({
				opacity:0,
				width:'100%',
				height:'100%'
			})
			_fader.empty().append(_frame);
		}
	}

	// lightbox positioning function
	function positionLightbox() {
		if(_lightbox) {
			var _windowHeight = $(window).height();
			var _windowWidth = $(window).width();
			var _lightboxWidth = _lightbox.outerWidth();
			var _lightboxHeight = _lightbox.outerHeight();
			var _pageHeight = _page.outerHeight(true);

			if (_windowWidth < _minWidth) _fader.css('width',_minWidth);
				else _fader.css('width','100%');
			if (_windowHeight < _pageHeight) _fader.css('height',_pageHeight);
				else _fader.css('height',_windowHeight);

			_lightbox.css({
				position:'absolute',
				zIndex:(_zIndex+1)
			});

			// vertical position
			if (_windowHeight > _lightboxHeight) {
				if ($.browser.msie && $.browser.version < 7) {
					_lightbox.css({
						position:'absolute',
						top: parseInt($(window).scrollTop()) + (_windowHeight - _lightboxHeight) / 2
					});
				} else {
					_lightbox.css({
						position:'fixed',
						top: (_windowHeight - _lightboxHeight) / 2
					});
				}
			} else {
				var _faderHeight = _fader.height();
				if(_faderHeight < _lightboxHeight) _fader.css('height',_lightboxHeight);
				if (!_scroll) {
					if (_faderHeight - _lightboxHeight > parseInt($(window).scrollTop())) {
						_faderHeight = parseInt($(window).scrollTop())
						_scroll = _faderHeight;
					} else {
						_scroll = _faderHeight - _lightboxHeight;
					}
				}
				_lightbox.css({
					position:'absolute',
					top: _scroll
				});
			}

			// horizontal position
			if (_fader.width() > _lightbox.outerWidth()) _lightbox.css({left:(_fader.width() - _lightbox.outerWidth()) / 2});
			else _lightbox.css({left: 0});
		}
	}

	// show/hide lightbox
	function toggleState(_state) {
		if(!_lightbox) return;
		if(_state) {
			_fader.fadeIn(_fadeSpeed,function(){
				_lightbox.fadeIn(_fadeSpeed);
			});
			_scroll = false;
			positionLightbox();
		} else {
			_lightbox.fadeOut(_fadeSpeed,function(){
				_fader.fadeOut(_fadeSpeed);
				_scroll = false;
			});
		}
	}

	// popup actions
	function initPopupActions(_obj) {
		if(!_obj.get(0).jsInit) {
			_obj.get(0).jsInit = true;
			// close link
			_obj.find(_closeLink).click(function(){
				_lightbox = _obj;
				toggleState(false);
				return false;
			});
		}
	}

	// lightbox openers
	_openers.each(function(){
		var _opener = $(this);
		var _target = _opener.attr('href');

		// popup load type - ajax or static
		if(_opener.hasClass(_ajaxClass)) {
			_opener.click(function(){
				// ajax load
				if($('div[rel*="'+_target+'"]').length == 0) {
					$.ajax({
						url: _target,
						type: "POST",
						dataType: "html",
						success: function(msg){
							// append loaded popup
							_lightbox = $(msg);
							_lightbox.find('img').load(positionLightbox)
							_lightbox.attr('rel',_target).hide().css({
								position:'absolute',
								zIndex:(_zIndex+1),
								top: -9999,
								left: -9999
							});
							$('body').append(_lightbox);

							// init js for lightbox
							initPopupActions(_lightbox);

							// show lightbox
							toggleState(true);
						},
						error: function(msg){
							alert('AJAX error!');
							return false;
						}
					});
				} else {
					_lightbox = jQuery('div[rel*="'+_target+'"]');
					toggleState(true);
				}
				return false;
			});
		} else {
			if($(_target).length) {
				// init actions for popup
				var _popup = $(_target);
				initPopupActions(_popup);
					// open popup
					_opener.click(function(){
					if(_lightbox) {
						_lightbox.fadeOut(_fadeSpeed,function(){
							_lightbox = _popup.hide();
							toggleState(true);
						})
					} else {
						_lightbox = _popup.hide();
						toggleState(true);
					}
					return false;
				});
			}
		}
	});

	// event handlers
	$(window).resize(function(){
		positionLightbox();
	})
	$(window).scroll(function(){
		positionLightbox();
	})
	$(document).keydown(function (e) {
		if (!e) evt = window.event;
		if (e.keyCode == 27) {
			toggleState(false);
		}
	})
	_fader.click(function(){
		if(!_fader.is(':animated')) toggleState(false);
		return false;
	})
}

//Testet
function nextQ(nextstep){
	if(nextstep == 'q2'){
		$('#q1').hide();
		$('#q2').show();
	}
	if(nextstep == 'q3'){
		$('#q2').hide();
		$('#q3').show();
	}
	if(nextstep == 'q4'){
		$('#q3').hide();
		$('#q4').show();
	}
	if(nextstep == 'q5'){
		$('#q4').hide();
		$('#q5').show();
	}		
}
function prevQ(prevstep){
	if(prevstep == 'q1'){
		$('#q2').hide();
		$('#q1').show();
	}
	if(prevstep == 'q2'){
		$('#q3').hide();
		$('#q2').show();
	}
	if(prevstep == 'q3'){
		$('#q4').hide();
		$('#q3').show();
	}	
	if(prevstep == 'q4'){
		$('#q5').hide();
		$('#q4').show();
	}		
}
	
var answArr = new Array();
function sendVal(q, answ){
	if(q-1 == 0){
		answArr[0] = answ;
	}
	if(q-1 == 1){
		answArr[1] = answ;
	}
	if(q-1 == 2){
		answArr[2] = answ;
	}	
	if(q-1 == 3){
		answArr[3] = answ;
	}
	var answer = answArr.join("");
	document.getElementById('hiddenresultarray').value = answer;
	
	$('.links:visible .next').show();
	
	if (q == 5){
		var loc = "/ovrigt/testresultat/?answ=" + answer;
		return window.location = loc;
	}
}