	jQuery.noConflict();
	jQuery(document).ready(function($)
	{		
		// Things to run on startup
		var currentStep = 1;
		var maxStep = 3;
		$('#cform_cont').children().hide();
		$('#cform_n1').css('font-weight', 'bold');
		$('#cform_step1').show();
		$('#cform_foregaende').hide();
		$('#cform_thanks').hide();
		
		// When clicking the step texts
		$('#cform_steps').children().click
		(
			function()
			{		
				var stepid = $(this).attr('id');
				var stepnumber = stepid.replace(/cform_n/, "", stepid);
				
				if(stepnumber > 1)
				{
					var val = validateStep(stepnumber-1);
					if(val)
					{
						currentStep = stepnumber;
						toggleArrowButtons();
					}
				}
				else
				{
					currentStep = stepnumber;
					toggleArrowButtons();
				}
			}
		);
		
		// When user clicks nästa button
		$('#cform_nasta').click
		(
			function()
			{
				var val = validateStep(currentStep);
				if(val)
				{
					currentStep++;
					toggleArrowButtons();
				}
			}
		);
		// When user clicks föregående button
		$('#cform_foregaende').click
		(
			function()
			{
				currentStep--;
				toggleArrowButtons();
			}
		);
		// Check to see if both arrow buttons are needed
		var toggleArrowButtons = function()
		{
			$('#cform_foregaende').show();
			$('#cform_nasta').show();
			if(currentStep == 1)
				$('#cform_foregaende').hide();
			if(currentStep == maxStep)
				$('#cform_nasta').hide();
			
			hideAndShow();
		}
		// Validate step to see if the user is eligible to continue
		var validateStep = function(n)
		{
			var val = true;
			var reqText = "Detta fält är obligatoriskt!";
			
			if(n == 1)
			{
				if(pris <= 0)
					val = false;
			}
			else if(n == 2)
			{
				// Cleans the error messages before validation
				$('#cform_step2 span').text("");
				
				if($('#cform_namn').val() == "")
				{
					$('#cform_namnmsg').text(reqText);
					val = false;
				}
				if($('#cform_adress').val() == "")
				{
					$('#cform_adressmsg').text(reqText);
					val = false;
				}
				if($('#cform_postnummer').val() == "")
				{
					$('#cform_postnummermsg').text(reqText);
					val = false;
				}
				if($('#cform_ort').val() == "")
				{
					$('#cform_ortmsg').text(reqText);
					val = false;
				}
				if($('#cform_telefon').val() == "")
				{
					$('#cform_telefonmsg').text(reqText);
					val = false;
				}
				var regexp = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
				var validemail = regexp.test($('#cform_epost').val());
				if(!validemail)
				{
					$('#cform_epostmsg').text("Den angivna e-postadressen är inte godkänd.");
					val = false;
				}
				if($('#cform_orgnr').val() == "")
				{
					$('#cform_orgnrmsg').text(reqText);
					val = false;
				}
			}
			
			return val;
		}
		// Hides all steps and shows the current one only
		var hideAndShow = function()
		{
			var newStep = "#cform_n"+currentStep;
			$('#cform_steps').children().css('font-weight', 'normal');
			$(newStep).css('font-weight', 'bold');	
			$('#cform_cont').children().slideUp();
			newStep = "#cform_step"+currentStep;
			$(newStep).slideDown();
		}
		
		// Sends the form!
		$('#cform_submit').click
		(
			function()
			{
				if(validateStep(maxStep))
				{
					
					var ntoken = $('#ntoken').val();
					var itoken = $('#itoken').val();
					var otoken = $('#otoken').val();
					var token = $('#token').val();
					
					var namn = $('#cform_namn').val();
					var adress = $('#cform_adress').val();
					var postnummer = $('#cform_postnummer').val();
					var ort = $('#cform_ort').val();
					var telefon = $('#cform_telefon').val();
					var mobil = $('#cform_mobil').val();
					var epost = $('#cform_epost').val();
					var orgnr = $('#cform_orgnr').val();
					var meddelande = $('#cform_meddelande').val();
					var bekraftelse = 0;
					if($('#cform_bekraftelse').is(':checked'))
						bekraftelse = 1;
					
					$.ajax
					({
					 //  http://localhost/oribiforms/oribiforms.php/spamcheck/jga
						url: 'http://www.jga.se/ci/oribiforms/oribiforms.php/spamcheck/jga', 
						type: 'post',
						data: 'ntoken=' + ntoken + '&itoken=' + itoken + '&otoken=' + otoken + '&token=' + token + '&namn=' + namn + '&adress=' + adress + '&postnummer=' + postnummer + '&ort=' + ort + '&telefon=' + telefon + '&mobil=' + mobil + '&epost=' + epost + '&orgnr=' + orgnr + '&meddelande=' + meddelande + '&pallar=' + pallar + '&leverans=' + leverans + '&pris=' + pris + '&bekraftelse=' + bekraftelse,
						success: function()
						{
							$('#cform_body').slideUp();
							$('#cform_thanks').slideDown();
						}
					});
				}
			}
		);
		
		// Specifics for this JGA form
		var pallar = "";
		var leverans = "avhamtning";
		var pris = 0;
		
		$('#cform_hemleverans').click
		(
			function()
			{	
				leverans = "hemleverans";
				countPrice();
			}
		);
		$('#cform_avhamtning').click
		(
			function()
			{
				leverans = "avhamtning";
				countPrice();
			}
		);
		
		// Keyboard Event, uppdaterar pris varje tangenttryckning
		$('#cform_pallar, #cform_sackar').keyup(countPrice);

		function countPrice()
		{
			pallar = parseInt($('#cform_pallar').val());
			
			// Säckpris
			var regexp = /^\d+$/;
			
			pris = 0;
			// Palluträkning
			if(regexp.test(pallar))
			{
				if(leverans == "hemleverans")
				{
					switch(pallar)
					{
						case 1:
							pris += pallar*pallar1;
							break;
						case 2:
							pris += pallar*pallar2;
							break;
						case 3:
							pris += pallar*pallar3;
							break;
						case 4:
							pris += pallar*pallar4;
							break;
						default:
							pris += pallar*pallar5_eller_fler;
							break;
					}
				}
				else
				{
					pris = pallar*hemleverans;
				}
			}
			else
				pallar = 0;
		
			$('#cform_pris').text(pris + 'kr');
		}
	});
