function validate_field(id)
{
	var elem = document.getElementById(id);
	if (elem == null)
		alert(id);
	if (elem.value.length == 0)
	{
		document.getElementById(id + '_label').className = 'form_error';
		return false;
	}
	else
	{
		document.getElementById(id + '_label').className = '';
		return true;
	}
}

function validate_form()
{
	if (!document.getElementById)
		return true;
	var form_error = false;
	var email_filter=/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-z]{2,6})$/;
	var phone_filter=/^07[0-9]{8}$/;
	var number_filter=/^([0-9]+)$/;
	var date_filter=/^(19|20)?\d{2}[-|\s]?(0[0-9]|1[0-2])[-|\s]?([0-2][0-9]|3[0|1])$/
	var participants_filter=/^[0-9]+(-[0-9]+){0,1}$/;

// Validerar avser
if (!document.getElementById('form_avser_0').checked && !document.getElementById('form_avser_1').checked)
{
	document.getElementById('form_avser_label').className = 'form_error';
	form_error = true;
}
else
{
	document.getElementById('form_avser_label').className = '';
}

if (document.getElementById('form_avser_1').checked)
{
	// Validerar företagsinformation
	form_error = (validate_field('form_orgnamn') == false || form_error);
	form_error = (validate_field('form_orgnr') == false || form_error);
	form_error = (validate_field('form_orgaddress') == false || form_error);
	form_error = (validate_field('form_orgpostnr') == false || form_error);
	form_error = (validate_field('form_orglocation') == false || form_error);
	form_error = (validate_field('form_orgtelefon') == false || form_error);
}


// Validerar namn
	form_error = (validate_field('form_namn') == false || form_error);
// Validerar adress
	form_error = (validate_field('form_adress') == false || form_error);

// Validerar postnummer
	form_error = (validate_field('form_postnummer') == false || form_error);

// Validerar adress
	form_error = (validate_field('form_ort') == false || form_error);
	
// Validerar telefonnummer
	var elem = document.getElementById('form_telefon');
	if (elem.value.length == 0 || !phone_filter.test(elem.value))
	{
		document.getElementById('form_telefon_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_telefon_label').className = '';
	}

// Validerar email
	var elem = document.getElementById('form_email');
	if (elem.value.length == 0 || !email_filter.test(elem.value))
	{
		document.getElementById('form_email_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_email_label').className = '';
	}
	
// Validerar aktiviteter
	if (!document.getElementById('form_pball').checked && !document.getElementById('form_mangkamp').checked && !document.getElementById('form_maltider').checked)
	{
		document.getElementById('form_aktiviteter_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_aktiviteter_label').className = '';
	}

// Validerar antal deltagare
	form_error = (validate_field('form_antal') == false || form_error);

// Validerar datum
	var elem = document.getElementById('form_datum');
	if (elem.value.length == 0 || !date_filter.test(elem.value))
	{
		document.getElementById('form_datum_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_datum_label').className = '';
	}

// Validerar tid
	var day = document.getElementById('form_day');
	if (day.value == 1)
	{
		// Om sondag vald kolla vardet pa select 
		var elem = document.getElementById('form_tid_sondag');
		if (elem.value == -1)
		{
			document.getElementById('form_tid_label').className = 'form_error';
			form_error = true;
		}
		else
		{
			document.getElementById('form_tid_label').className = '';
		}
	}
	else 
	{
		// Om annan dag vald kolla vardet pa select 
		var elem = document.getElementById('form_tid');
		if (elem.value == -1)
		{
			document.getElementById('form_tid_label').className = 'form_error';
			form_error = true;
		}
		else
		{
			document.getElementById('form_tid_label').className = '';
		}
	}

	
	
// Validerar villkor
	var elem = document.getElementById('form_villkor');
	if (!elem.checked)
	{
		document.getElementById('form_villkor_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_villkor_label').className = '';
	}

// Validerar antalet deltagare
	var elem = document.getElementById('form_antal');
	if (elem.value.length == 0 || !participants_filter.test(elem.value))
	{
		document.getElementById('form_antal_label').className = 'form_error';
		form_error = true;
	}
	else
	{
		document.getElementById('form_antal_label').className = '';
	}
	
// Vailderar att man har accepterat krav på minst åtta pers
	var elem = document.getElementById('form_num_people');
	if ((!elem.checked) && (day.value == 1))
	{
		document.getElementById('form_num_people_label').className = 'form_error'
		form_error = true;
	}
	else
	{
		document.getElementById('form_num_people_label').className = '';
	}
	
	if (form_error)
	{
		alert("Ett eller fler fel uppstod. Var god rätta till de markerade fälten.");
		return false;
	}
	else
	{
		return true;
	}
	return true;
}

function check_length(id, length)
{
	id = "form_" + id;
	if (document.getElementById(id).value.length < length)
		document.getElementById(id + "_label").className = "form_error";
	else
		document.getElementById(id + "_label").className = "";
}

function check_equal(id1, id2)
{
	id1 = "form_" + id1;
	id2 = "form_" + id2;
	var elem1 = document.getElementById(id1);
	var elem2 = document.getElementById(id2);
	var elem1label = document.getElementById(id1 + "_label");
	var elem2label = document.getElementById(id2 + "_label");
	
	if (elem1.value != elem2.value)
		elem1label.className = "form_error";
	else
		elem1label.className = "";
}

