var enableValidation = true;

var currentStep = 1;
var submitted = false;

$(document).ready(function() {		
		
		if (($.browser.msie && $.browser.version != "6.0") || !$.browser.msie)
			$(".textInputBg input").css("position", "relative");
		if ($.browser.msie) {
			if ($.browser.version == "7.0") {
				$("#infoDiv, .infoButton").css("left", "310px");
				$("#numberOfCertificates").css("left", "-25px");
			}
			if ($.browser.version == "6.0") {
				$("label[for=schoolZipCode]").html("Postnr");
				$("label[for=schoolNumber]").html("Skolenr");
				$("#numberOfCertificates").css("margin-left", "-25px");
			}
		}
		if ($.browser.mozilla) {
			$(".infoButton").css("top", "257px");
		}
		$("#formPage1 a.nextButton").click(function() {
			moveForwardTo(2);
		});
		$("#formPage2 a.nextButton").click(function() {
			moveForwardTo(3);
		});
		$("#formPage3 a.nextButton").click(function() {
			moveForwardTo(4);
		});
		$("#formPage4 a.nextButton").click(function() {
			moveForwardTo(5);
		});
        $("#formPage5 a.nextButton2").click(function() {
			moveForwardTo(6);
		});
        
        $("#formPage2 a.prevButton").click(function() {
			moveBackTo(1)
		});
		$("#formPage3 a.prevButton").click(function() {
			moveBackTo(2)
		});
		$("#formPage4 a.prevButton").click(function() {
			moveBackTo(3)
		});
        $("#formPage5 a.prevButton2").click(function() {
			moveBackTo(4)
		});
		
		$("img.infoButton").mouseenter(function() {
			$("#infoDiv").show();
		});
		$("img.infoButton").mouseleave(function() {
			$("#infoDiv").hide();
		});
	});
	
	function page2NextClick() {
		$("#formPage2 a.nextButton").click();
	}
	function moveBackTo(pos)
	{
		switch(pos)
		{
			case 1:
				$("#formPagesDiv").animate({left: "0px"}, 1000, "swing");
				$("#formBreadcrumbs").css("background-position", "0px 0px");
				$("#formBreadcrumbs").empty();
				$("#formBreadcrumbs").append('<a></a><a style="width:160px;" onclick="moveForwardTo(2)"></a>');
				currentStep = 1;
				break;
			case 2:
				$("#formPagesDiv").animate({left: "-933px"}, 1000, "swing");
				$("#formBreadcrumbs").css("background-position", "0px -60px");
				$("#formBreadcrumbs").empty();
				$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;"></a><a style="width:200px;" onclick="moveForwardTo(3)"></a>');
				currentStep = 2;
				break;
			case 3:
				$("#formPagesDiv").animate({left: "-1866px"}, 1000, "swing");
				$("#formBreadcrumbs").css("background-position", "0px -120px");
				$("#formBreadcrumbs").empty();
				$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;" onclick="moveBackTo(2)"></a><a style="width:180px;"></a><a style="width:150px;" onclick="moveForwardTo(4)"></a>');
				currentStep = 3;
				break;
            case 4:
				$("#formPagesDiv").animate({left: "-2799px"}, 1000, "swing");
				$("#formBreadcrumbs").css("background-position", "0px -180px");
				$("#formBreadcrumbs").empty();
				$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;" onclick="moveBackTo(2)"></a><a onclick="moveBackTo(3)" style="width:180px;"></a><a style="width:150px;"></a><a style="width:130px;" onclick="moveForwardTo(5)"></a>');
				currentStep = 3;
				break;
		}
		
		setTabEnabled(currentStep);
	}
	
	function moveForwardTo(pos)
	{
		switch(pos)
		{
			case 2:
				$("#formPagesDiv").animate({left: "-933px"}, 1000, "swing");
				$("#formBreadcrumbs").css("background-position", "0px -60px");
				$("#formBreadcrumbs").empty();
				$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;"></a><a style="width:200px;" onclick="moveForwardTo(3)"></a>');
				currentStep = 2;
				break;
			case 3:
				if (!enableValidation || form1IsValid()) {
					$("#formPagesDiv").animate({left: "-1866px"}, 1000, "swing");
					$("#formBreadcrumbs").css("background-position", "0px -120px");
					$("#formBreadcrumbs").empty();
					$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;" onclick="moveBackTo(2)"></a><a style="width:180px;"></a><a style="width:150px;" onclick="moveForwardTo(4)"></a>');
					currentStep = 3;
				}
				break;
			case 4:
				if (!enableValidation || form2IsValid()) {
					$("#formPagesDiv").animate({left: "-2799px"}, 1000, "swing");
					$("#formBreadcrumbs").css("background-position", "0px -180px");
					$("#formBreadcrumbs").empty();
					$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;" onclick="moveBackTo(2)"></a><a onclick="moveBackTo(3)" style="width:180px;"></a><a style="width:150px;"></a><a style="width:130px;" onclick="moveForwardTo(5)"></a>');
					currentStep = 4;
				}
				break;
            case 5:
				if (!enableValidation || form2IsValid()) {
					$("#formPagesDiv").animate({left: "-3732px"}, 1000, "swing");
					$("#formBreadcrumbs").css("background-position", "0px -240px");
					$("#formBreadcrumbs").empty();
					$("#formBreadcrumbs").append('<a onclick="moveBackTo(1)"></a><a style="width:130px;" onclick="moveBackTo(2)"></a><a onclick="moveBackTo(3)" style="width:180px;"></a><a style="width:150px;" onclick="moveBackTo(4)"></a><a style="width:150px;"></a><a style="width:130px;" onclick="moveForwardTo(6)"></a>');
					
                    $("#information").empty();
                    $("#information").append(
                        $("#firstName").val() + ' ' + $("#lastName").val() + '<br>' +
                        $("#phone").val() + '<br>' +
                        $("#email").val()
                    );
                    
                    $("#school").empty();
                    $("#school").append(
                        $("#schoolName").val() + '<br>' +
                        $("#schoolAdress").val() + '<br>' +
                        $("#schoolZipCode").val() + ' ' + $("#schoolCity").val()
                    );
                    
                    $("#giftCard").empty();
                    $("#giftCard").append(
                    $("#numberOfCertificates").val());
					
					$("#pf_Email").empty();
					$("#pf_Email").val(
                    $("#email").val());
					
                    currentStep = 5;
				}
				break;
			case 6:
				if (form3IsValid() && submitted == false) {
					submitted = true;
					$("#regForm").submit();
					
					if($("#subscribeNewsletter").attr("checked")){
						$.post("http://www.anpdm.com/public/process-subscription-form.aspx?formId=48435B447740445143",
							{
								pf_FormType:"OptInForm",
								pf_OptInMethod:"SingleOptInMethod",
								pf_CounterDemogrFields:"0",
								pf_CounterMailinglists:"1",
								pf_AccountId:"3961",
								pf_ListById:"1",
								pf_Version:"2",
								pf_MailinglistName1:"13212",
								pf_Email:$("#email").val(),
								Submit:"Tilmeld"
							},
							function(data) {
								//alert($("#email").val() + " was added to the list");
							}
						)
					}
				}
				break;
		}
				
		setTabEnabled(currentStep);
	}
	
	function setTabEnabled(pos) {
		disabledAllTabs();
		
		switch(pos)
		{
			case 2:
				$("#firstName").attr("tabIndex", "1");
				$("#lastName").attr("tabIndex", "2");
				$("#phone").attr("tabIndex", "3");
				$("#email").attr("tabIndex", "4");
				$("#repeatEmail").attr("tabIndex", "5");
				break;
			
			case 3:
				$("#schoolName").attr("tabIndex", "1");
				$("#schoolAdress").attr("tabIndex", "2");
				$("#schoolZipCode").attr("tabIndex", "3");
				$("#schoolCity").attr("tabIndex", "4");
				$("#schoolNumber").attr("tabIndex", "5");
				break;
			
			case 4:
				$("#numberOfCertificates").attr("tabIndex", "1");
				break;
		}
	}
	
	function disabledAllTabs() {
		$("#firstName").attr("tabIndex", "-1");
		$("#lastName").attr("tabIndex", "-1");
		$("#phone").attr("tabIndex", "-1");
		$("#email").attr("tabIndex", "-1");
		$("#repeatEmail").attr("tabIndex", "-1");
		
		$("#schoolName").attr("tabIndex", "-1");
		$("#schoolAdress").attr("tabIndex", "-1");
		$("#schoolZipCode").attr("tabIndex", "-1");
		$("#schoolCity").attr("tabIndex", "-1");
		$("#schoolNumber").attr("tabIndex", "-1");
		
		$("#numberOfCertificates").attr("tabIndex", "-1");
	}
	
	function form1IsValid() {
		var error = false;
		var errorMessage = "";
		if ($("#firstName").val() == "") {
			error = true;
			errorMessage += "Fornavn skal udfyldes\r\n";
		}
		if ($("#lastName").val() == "") {
			error = true;
			errorMessage += "Efternavn skal udfyldes\r\n";
		}
		if ($("#phone").val() == "") {
			error = true;
			errorMessage += "Telefon skal udfyldes\r\n";
		}
		if ($("#email").val() == "") {
			error = true;
			errorMessage += "Email skal udfyldes\r\n";
		}
		else if (validateEmail($("#email").val()) == false) {
			error = true;
			errorMessage += "Email ikke gyldig\r\n";
		}
		else if ($("#email").val() != $("#repeatEmail").val()) {
			error = true;
			errorMessage += "Felterne Email og Gentag email skal v\u00E6re udfyldt ens\r\n";
		}
	
		if (error == true)
			displayError(errorMessage);
			
		return !error;
	}
	function form2IsValid() {
		var error = false;
		var errorMessage = "";
		if ($("#schoolName").val() == "") {
			error = true;
			errorMessage += "Skolens navn skal udfyldes\r\n";
		}
		if ($("#schoolAdress").val() == "") {
			error = true;
			errorMessage += "Adresse skal udfyldes\r\n";
		}
		if ($("#schoolZipCode").val() == "") {
			error = true;
			errorMessage += "Postnummer skal udfyldes\r\n";
		}
		else if (validateNumber($("#schoolZipCode").val()) == false) {
			error = true;
			errorMessage += "Ugyldigt postnummer\r\n";
		}
		if ($("#schoolCity").val() == "") {
			error = true;
			errorMessage += "By skal udfyldes\r\n";
		}
		
		if (error == true)
			displayError(errorMessage);
			
		return !error;
	}
	function form3IsValid() {
		var error = false;
		var errorMessage = "";
		if ($("#numberOfCertificates").val() == "") {
			error = true;
			errorMessage += "Antal gavekort skal udfyldes\r\n";
		}
		else if (validateNumber($("#numberOfCertificates").val()) == false) {
			error = true;
			errorMessage += "Ugyldigt antal\r\n";
		}
		else if ($("#numberOfCertificates").val() > 100) {
			error = true;
			errorMessage += "Ugyldigt antal\r\n";
		}
		
		if (error == true)
			displayError(errorMessage);
			
		return !error;
	}
	function validateEmail(str){
		var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				
		if(str.match(emailRegEx)){
			return true;
		}
		else{
			return false;
		}
	}
	function validateNumber(str) {
		var numberRegEx = /^\d+$/;
		if(str.match(numberRegEx)){
			return true;
		}
		else{
			return false;
		}
	}
	function displayError(message) {
		alert(message);
	}
