function postForm(id) {

	var inputValue = new Array();
	var inputName = new Array();
	var inputType = new Array();
	if (document.getElementById('scheme_'+id)) {
		var schemeName = document.getElementById('scheme_'+id).value;
	}
	else var schemeName = 'Responsskjema';

	var table = document.getElementById(id);
	var cells = table.getElementsByTagName('td');

	var fieldForgot = 'Du må fylle ut alle påkrevde felt';
	var missingColor = 'red';

	for (var i=0; i<cells.length; i++) {
		
		//Text input
		var inputs = cells[i].getElementsByTagName('input');
		
		for (var u = 0; u<inputs.length; u++) {
		
			if (inputs[u].type == 'text') {
				var name = cells[(i-1)].innerHTML;
				var val = inputs[u].value;
					
				if (/formRequired/.test(name) && val == '') {
					alertBox(fieldForgot);
					return;
				}
				
				else if (/formRequired/.test(name) && inputs[u].name == 'email') {
					if (/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i.test(val) == false) {
						alertBox('Du har skrevet en ugyldig e-post');
						return;
					}
				}
				
				inputValue.push(encodeURIComponent(val));
				inputName.push(encodeURIComponent(name));
				inputType.push("TEXT");
			
			}
		}
		
		//Selects
		var selects = cells[i].getElementsByTagName('select');
		
		for (var u = 0; u<selects.length; u++) {
		
			var name = cells[(i-1)].innerHTML;
			var val = selects[u].value;
					
			if (/formRequired/.test(name) && val == '$_noValue') {
				alertBox(fieldForgot);
				return;
			}
				
			inputValue.push(encodeURIComponent(val));
			inputName.push(encodeURIComponent(name));
			inputType.push("SELECT");
		}
		
		
		//Textarea
		var textareas = cells[i].getElementsByTagName('textarea');
		
		for (var u = 0; u<textareas.length; u++) {
		
			var name = cells[(i-1)].innerHTML;
			var val = textareas[u].value;
					
			if (/formRequired/.test(name) && val == '') {
				alertBox(fieldForgot);
				return;
			}
				
			inputValue.push(encodeURIComponent(val));
			inputName.push(encodeURIComponent(name));
			inputType.push("TEXTAREA");
		}
		
		//Checkboxes
		var checkboxes = cells[i].getElementsByTagName('input');
		
		for (var u = 0; u<checkboxes.length; u++) {
			
			if (checkboxes[u].type == 'checkbox') {
				var name = cells[(i-1)].innerHTML;
				var val = checkboxes[u].checked == true?true:false;
				
				inputValue.push(encodeURIComponent(val));
				inputName.push(encodeURIComponent(name));
				inputType.push("CHECKBOX");
			}
		}

		//Radio
		var radios = cells[i].getElementsByTagName('input');
		var rCount = 0;
		var rChecked = 0;
		var done = false;
		for (var u = 0; u<radios.length; u++) {
			
			if (radios[u].type == 'radio') {
				rCount++;
				//alert(rCount);
				var name = cells[(i-1)].innerHTML;
				
				if (radios[u].checked == true) {
					
					var val = radios[u].value;
				
					inputValue.push(encodeURIComponent(val));
					inputName.push(encodeURIComponent(name));
					inputType.push("RADIO");
					rChecked++;
					
				}
				
				if (/formRequired/.test(name) && rCount == radios.length && rChecked < 1) {
					alertBox(fieldForgot);
					return;
				}
			}
		}
	}

	var url = 'request.php';
	var params = 'action=postForm';
	
	for (var i=0; i<inputName.length; i++) {
		params += '&q'+i+'='+inputName[i];
		params += '&a'+i+'='+inputValue[i];
		params += '&t'+i+'='+inputType[i];
	}
	params += '&schemeName='+schemeName;
	//Continue
	//alert(params);
	var httpRequest = GetXmlHttpObject();
	
	httpRequest.onreadystatechange = function() { 
		
		if (httpRequest.readyState == 4) {
			if (/OK/.test(httpRequest.responseText) && httpRequest.status == 200) {
				alertBox('Din forespørsel er sendt');
				clearForm(id);
				//alert(httpRequest.responseText);	
			}
			
			else {
				alertBox('En feil har oppstått. Vennligst prøv igjen senere');
			}
		}
	}
		
	makePostRequest(url, params, httpRequest);
}



function postFormEn(id) {

	var inputValue = new Array();
	var inputName = new Array();
	var inputType = new Array();
	if (document.getElementById('scheme_'+id)) {
		var schemeName = document.getElementById('scheme_'+id).value;
	}
	else var schemeName = 'Responsskjema';

	var table = document.getElementById(id);
	var cells = table.getElementsByTagName('td');

	var fieldForgot = 'Please fill out all required fields';
	var missingColor = 'red';

	for (var i=0; i<cells.length; i++) {
		
		//Text input
		var inputs = cells[i].getElementsByTagName('input');
		
		for (var u = 0; u<inputs.length; u++) {
		
			if (inputs[u].type == 'text') {
				var name = cells[(i-1)].innerHTML;
				var val = inputs[u].value;
					
				if (/formRequired/.test(name) && val == '') {
					alertBox(fieldForgot);
					return;
				}
				
				else if (/formRequired/.test(name) && inputs[u].name == 'email') {
					if (/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/i.test(val) == false) {
						alertBox('You have entered an invalid e-mail');
						return;
					}
				}
				
				inputValue.push(encodeURIComponent(val));
				inputName.push(encodeURIComponent(name));
				inputType.push("TEXT");
			
			}
		}
		
		//Selects
		var selects = cells[i].getElementsByTagName('select');
		
		for (var u = 0; u<selects.length; u++) {
		
			var name = cells[(i-1)].innerHTML;
			var val = selects[u].value;
					
			if (/formRequired/.test(name) && val == '$_noValue') {
				alertBox(fieldForgot);
				return;
			}
				
			inputValue.push(encodeURIComponent(val));
			inputName.push(encodeURIComponent(name));
			inputType.push("SELECT");
		}
		
		
		//Textarea
		var textareas = cells[i].getElementsByTagName('textarea');
		
		for (var u = 0; u<textareas.length; u++) {
		
			var name = cells[(i-1)].innerHTML;
			var val = textareas[u].value;
					
			if (/formRequired/.test(name) && val == '') {
				alertBox(fieldForgot);
				return;
			}
				
			inputValue.push(encodeURIComponent(val));
			inputName.push(encodeURIComponent(name));
			inputType.push("TEXTAREA");
		}
		
		//Checkboxes
		var checkboxes = cells[i].getElementsByTagName('input');
		
		for (var u = 0; u<checkboxes.length; u++) {
			
			if (checkboxes[u].type == 'checkbox') {
				var name = cells[(i-1)].innerHTML;
				var val = checkboxes[u].checked == true?true:false;
				
				inputValue.push(encodeURIComponent(val));
				inputName.push(encodeURIComponent(name));
				inputType.push("CHECKBOX");
			}
		}

		//Radio
		var radios = cells[i].getElementsByTagName('input');
		var rCount = 0;
		var rChecked = 0;
		var done = false;
		for (var u = 0; u<radios.length; u++) {
			
			if (radios[u].type == 'radio') {
				rCount++;
				//alert(rCount);
				var name = cells[(i-1)].innerHTML;
				
				if (radios[u].checked == true) {
					
					var val = radios[u].value;
				
					inputValue.push(encodeURIComponent(val));
					inputName.push(encodeURIComponent(name));
					inputType.push("RADIO");
					rChecked++;
					
				}
				
				if (/formRequired/.test(name) && rCount == radios.length && rChecked < 1) {
					alertBox(fieldForgot);
					return;
				}
			}
		}
	}

	var url = 'request.php';
	var params = 'action=postForm';
	
	for (var i=0; i<inputName.length; i++) {
		params += '&q'+i+'='+inputName[i];
		params += '&a'+i+'='+inputValue[i];
		params += '&t'+i+'='+inputType[i];
	}
	params += '&schemeName='+schemeName;
	//Continue
	//alert(params);
	var httpRequest = GetXmlHttpObject();
	
	httpRequest.onreadystatechange = function() { 
		
		if (httpRequest.readyState == 4) {
			if (/OK/.test(httpRequest.responseText) && httpRequest.status == 200) {
				alertBox('Your request has been sent');
				clearForm(id);
				//alert(httpRequest.responseText);	
			}
			
			else {
				alertBox('An error occurred. Please try again later');
			}
		}
	}
		
	makePostRequest(url, params, httpRequest);
}




function clearForm(id) {
	
	var table = document.getElementById(id);
	var inputs = table.getElementsByTagName('input');
	var textareas = table.getElementsByTagName('textarea');
	var selects = table.getElementsByTagName('select');

	for (var i = 0; i<inputs.length; i++) {
		if (inputs[i].type == 'checkbox' || inputs[i].type == 'radio') {
			inputs[i].checked = false;
		}
		else if (inputs[i].type == 'text') {
			inputs[i].value = '';
		}
	}
	
	for (var i=0; i<textareas.length; i++) {
		textareas[i].value = '';	
	}

	for (var i=0; i<selects.length; i++) {
		selects[i].value = '[Velg]';	
	}


}


function xml_http(page, id) {

	data = page;
	tagid = id;

	xmlHttp=GetXmlHttpObject();

	var url = 'request.php';
	var parameters = 'action=xmlhttp&page='+encodeURIComponent(page);
	
	var httpRequest = GetXmlHttpObject();
		
	//Ready
	httpRequest.onreadystatechange = function() { 
		
		if (httpRequest.readyState == 4) {
			if (httpRequest.status == 200) {
				document.getElementById(tagid).innerHTML = httpRequest.responseText;	
				//alert(httpRequest.responseText);
			}
			
			else {
				alert('Vennligst prøv igjen senere');
			}
		}
	}
		
	makePostRequest(url, parameters, httpRequest);
}

function GetXmlHttpObject() {

	var xmlHttp=null;
	try
	{
  		// Firefox, Opera 8.0+, Safari
  		xmlHttp=new XMLHttpRequest();
	}

	catch (e)
	{
	// Internet Explorer
	
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
  
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}

	return xmlHttp;
}

function preloadhide() {
	document.getElementById('preloader').style.display = 'none';	
}




function setActive(id, nclass) {
	
	if (!nclass) { nclass = 'active'; }
	
	regname = document.getElementById(id).getAttribute('onclick');
	
	var axreg = new RegExp(/xml_http/);
	var ax = axreg.exec(regname);
	
	
	if (ax) {
	
	
		if (!document.getElementById(id)) { alert("Could not locate ID"); }

	 //alert('blaat');
		var tags = document.getElementsByTagName("a"); 
		for (var i = 0; i < tags.length; i++) { 
   
			classname = tags[i].className;
		
			var servreg = new RegExp(/xml_http/);
			var serv = servreg.exec(tags[i].getAttribute('onclick'));
	
			if (tags[i].className.indexOf(nclass)>-1 && serv) { 
				sid = tags[i].id;
    	   
				document.getElementById(sid).className = tags[i].className.replace(nclass, '');
			
    		}
		}

		var reg = new RegExp(/xml_http/);
	
	
		var docid = document.getElementById(id);
		var m = reg.exec(docid.getAttribute('onclick'));
	
		if (m) {
	
			var classval = docid.className;
			document.getElementById(id).className = nclass+' '+classval;
	
		}
	}
}



