function validRadio(radio_name)
{
	  var bIsOneChecked = false;
		var bObligatorisk = false;
		var inputs = document.getElementsByTagName("input");

		for (i = 0; i < inputs.length; i++)
		{

			if (inputs[i].getAttribute("type").toLowerCase() == "radio" && 
			inputs[i].getAttribute("name") == radio_name)
			{
				if(inputs[i].checked)
				{
				   bIsOneChecked = true;
				
				}
				if (/obligatorisk/.test(inputs[i].className))
				{
					bObligatorisk = true;
				}
			
			}
		}

	    if (!bIsOneChecked && bObligatorisk) 
		{
	         return false;
	    }
		else
		{
			return true;
		}

}
	
function validateForm(currentForm)
{
	var bValidate = true;
	var aElements;
	var sAlert = "";
		
	var aFormElements = new Array("input", "textarea", "select");
	for (h in aFormElements)
	{
	 	aElements = currentForm.getElementsByTagName(aFormElements[h]);
	 	
		for (var i = 0; i < aElements.length; i++)
		{
			/* Lägg till fält för rubriker */ 
			if( (aElements[i].type == 'text' || 
			aElements[i].type == 'radio' || 
			aElements[i].type == 'checkbox' || 
			aElements[i].type == 'textarea' || 
			aElements[i].type == 'select-one') && 
			(aElements[i].getAttribute("title") != ''))
			{

				var hiddenField = document.createElement('input');
				hiddenField.type = 'hidden';
				hiddenField.name = 'geMailHeader-' + aElements[i].getAttribute("name");
				hiddenField.value = aElements[i].getAttribute("title") + ": ";
				currentForm.appendChild(hiddenField);
			}
			
			if (/obligatorisk/.test(aElements[i].className))
			{
				if(aElements[i].type == 'radio')
				{
					if(!validRadio(aElements[i].name))
					{
						bValidate = false;
		 				sAlert += "- " + aElements[i].title + " är obligatoriskt\n";
					}
				}
				else if (validateText(aElements[i].value))
				{
					bValidate = false;
	 				sAlert += "- " + aElements[i].title + " är obligatoriskt\n";
				}
			}
		}
	}
	if(!bValidate)alert("Formuläret är inte korrekt ifyllt!\n\n" + sAlert);
	return bValidate;
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g, '');
}


function validateText(v)
{
	if (trim(v) == "")
	{
		return true;
	}
}

$(document).ready(function() {
	
	$.each($("form"), function(){
		$(this).bind("submit", function() {
			if (!validateForm(this))
			{
				return false;
			}
			else
			{
				return true;
			}
		});
	});

});
