/* Eksakte Frontend - javascript functions */
/* RDC 27.08.2009 */


//jQuery Clear Default Input Values
(function($){
	$.fn.clearDefault = function(){
		return this.each(function(){
			var default_value = $(this).val();
			$(this).focus(function(){
				if ($(this).val() == default_value) $(this).val("");
			});
			$(this).blur(function(){
				if ($(this).val() == "") $(this).val(default_value);
			});
		});
	};
})(jQuery);


$(document).ready(function() {
    /*Begin document ready function*/

    // Show random focus item
    var numberOfFocusItems = $('div.mFocusBox ul.nav li').size();
    var randomFocusItemIndex = Math.floor(Math.random() * numberOfFocusItems);
    $('.focusItem:visible').hide();
    $('.focusItem:eq(' + randomFocusItemIndex + ')').show();
    $('.mFocusBox li a').removeClass('active');
    $('div.mFocusBox ul.nav li:eq(' + randomFocusItemIndex + ') a').addClass('active');

    //Clear input on focus
    $('.mSignUp input.text').clearDefault();

    // Validate that terms checkbox are checked
    $('#termsTarget').click(function() {
        $('fieldset.course #terms').show('slow');
        //return false;
    });

    //Show/hide focus items
    $('.mFocusBox li a').click(function() {
        var intLinkIndex = $('.mFocusBox li a').index($(this));
        $('.focusItem:visible').slideUp(400, function() {
            $('.focusItem:eq(' + intLinkIndex + ')').slideDown(1000);
        });
        $('.mFocusBox li a').removeClass('active');
        $(this).addClass('active');
        return false;
    });


    // Validate that terms checkbox are checked
    $('.enrollButton').click(function() {
        if ($('.acceptTermsCheckBox input').is(":checked")) {
            $('.acceptTermsError').hide();
        }
        else {
            $('.acceptTermsError').show();
            return false;
        }
    });

    $('#newsletterform').submit(function() {
      var name = jQuery.trim($("#name").val());
      var email = jQuery.trim($("#myuxi-myuxi").val());
      var err = "";

      if (name.toLowerCase() == "navn" || name.length == 0) {
        err += "<div>Indtast venligst dit navn.</div>";
      }
      if (isEmail(email) == false) {
        err += "<div>Indtast venligst din email.</div>";
      }
      if ($("#newsletterform input:checked").length == 0) {
        err += "<div>Vælg venligst din modtager type.</div>";
      }
      if (err.length > 0) {
        $("#newsletterformerror").html(err);
        $("#newsletterformerror").show();
        return false;
      }
    });


    // Show or hide error when checkbox loses focus.
    $('.acceptTermsCheckBox input').blur(function() {
        if ($('.acceptTermsCheckBox input').is(":checked")) {
            $('.acceptTermsError').hide();
        }
        else {
            $('.acceptTermsError').show();
        }
    });


    initNewsSlider();

    /*End document ready function*/
});

var objNewsSliderTimeout;
var intAutoChangeInterval = 10000;

function initNewsSlider() {

	// Udregn bredder p� 
	var	intNavTotalWidth = 0;
	$(".headings li").each(function() {
		intNavTotalWidth += $(this).width() + 6;
	});
	$(".headings").css({width: intNavTotalWidth + 'px'});

	var intContentTotalWidth = 0;
	$(".newsWrapperInner div.item").each(function() {
		intContentTotalWidth += $(this).width() + 20;
	});
	$(".newsWrapperInner").css({width: intContentTotalWidth + 'px'});

	$(".newsWrapper").scrollTo($(".newsWrapperInner div.item:first"), 0, {});

	$(".headings a").click(function() {
		
		clearTimeout(objNewsSliderTimeout);
		
		$(".headings a.active").removeClass("active");
		$(this).addClass("active");
		
		var navWrapperWidth = $(".navWrapper").width();
		var curElementWidth = $(this).parent().width();
		var xOffset = 0 - ((navWrapperWidth / 2) - (curElementWidth / 2))
		var intSelectedIndex = $(".headings a").index(this);

		if (intSelectedIndex == 0) {
			$("a.prev").addClass("deactivated");
		} else {
			$("a.prev").removeClass("deactivated");
		}
		
		if (intSelectedIndex == $(".headings a").size() - 1) {
			$("a.next").addClass("deactivated");
		} else {
			$("a.next").removeClass("deactivated");
		}
		

		var objNavScrollSettings = {
			offset: {
				left: xOffset,
				top: 0
			}
		}
		
		var objContentScrollSettings = {
			easing: 'easeOutSine'
		}
		
		$(".navWrapper").scrollTo($(this), 1000, objNavScrollSettings)
		$(".newsWrapper").scrollTo($(".newsWrapperInner div.item:eq(" + intSelectedIndex + ")"), 1000, objContentScrollSettings)

		return false;
	});
	
	$("a.next, a.prev").click(function() {
		
		var bPrevPressed = false;
		
		if ($(this).hasClass("prev")) {
			bPrevPressed = true;
		}
		
		var objCurrentElement = $(".headings a.active");
		var intMaxIndex = $(".headings a").size() - 1;
		var intCurrentIndex = $(".headings a").index(objCurrentElement);
		
		var objToFocus;
		
		if (bPrevPressed) {
			if (intCurrentIndex > 0) {
				$(".headings a:eq(" + (intCurrentIndex - 1) + ")").click();
			}
		} else {
			if (intCurrentIndex < intMaxIndex) {
				$(".headings a:eq(" + (intCurrentIndex + 1) + ")").click();
			}
		}

	});
	
	$(".mNewsSlider").hover(function() {
		clearTimeout(objNewsSliderTimeout);
	}, function() {
		objNewsSliderTimeout = setTimeout("autoScrollToNext()", intAutoChangeInterval);
	});
	
	objNewsSliderTimeout = setTimeout("autoScrollToNext()", intAutoChangeInterval);

	var numberOfItems = $(".headings a").size();
	var randomItemIndex = Math.floor(Math.random() * numberOfItems);
	$(".headings a").eq(randomItemIndex).click();
}

function autoScrollToNext() {

	var objCurrentElement = $(".headings a.active");
	var intMaxIndex = $(".headings a").size() - 1;
	var intCurrentIndex = $(".headings a").index(objCurrentElement);

	if (intCurrentIndex < intMaxIndex) {
		// Vi er ikke p� den sidste endnu
		$(".headings a:eq(" + (intCurrentIndex + 1) + ")").click();
		objNewsSliderTimeout = setTimeout("autoScrollToNext()", intAutoChangeInterval);
	} else {
		// Der n�ede vi den sidste
		
		$(".headings a:first").click();
//		$(".newsWrapperInner").fadeTo(1000, 0, function() {
//			
//			setTimeout("$('.newsWrapperInner').fadeTo(1000, 1)", 1000);
//			objNewsSliderTimeout = setTimeout("autoScrollToNext()", intAutoChangeInterval);
//		});
		
	}
	
}

function isEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   return reg.test(email);
}

