function check_form(f){
	var errorItems;
	var result = true;
	var errorText = "There are errors: ";
	
	//alert("Media: " + f.media.length);
	
	if(is_blank(f.name.value)){
		errorText = errorText + "Value for Name not given. ";
		var header = document.getElementById('name_h');
		header.setAttribute("class", "error");
		result = false;
	}
	if(is_blank(f.email.value)){
		errorText = errorText + "Value for E-mail not given. ";
		var header = document.getElementById('email_h');
		header.setAttribute("class", "error");
		result = false;
	}
	if(is_blank(f.address.value)){
		errorText = errorText + "Value for Address not given. ";
		var header = document.getElementById('address_h');
		header.setAttribute("class", "error");
		result = false;
	}
	if(is_blank(f.city.value)){
		errorText = errorText + "Value for City not given. ";
		var header = document.getElementById('city_h');
		header.setAttribute("class", "error");
		result = false;
	}
	if(is_blank(f.state.value)){
		errorText = errorText + "Value for State not given. ";
		var header = document.getElementById('state_h');
		header.setAttribute("class", "error");
		result = false;
	}
	if(is_blank(f.zip.value)){
		errorText = errorText + "Value for zip not given. ";
		var header = document.getElementById('zip_h');
		header.setAttribute("class", "error");
		result = false;
	}
	
	var companyField = document.getElementById("company");
	//if(f.category.value != 'homeowner'){
	if(companyField.disabled == false){
		if(is_blank(f.company.value)){
			errorText = errorText + "Value for company not given. "+f.category.value+" ";
			var header = document.getElementById('company_h');
			header.setAttribute("class", "error");
			result = false;
		}
	}
	
	
	mediaValue = "";
	if(f.media.length){
		for(var i=0; i<f.media.length; i++){
			if(f.media[i].checked == true){
				mediaValue = f.media[i].value;
			}
		}
		if(is_blank(mediaValue)){
			errorText = errorText + "Value for Media not given. ";
			var header = document.getElementById('media_h');
			header.setAttribute("class", "error");
			result = false;
		}	
	}
	
	catValue = "";
	for(var i=0; i<f.category.length; i++){
		if(f.category[i].checked == true){
			catValue = f.category[i].value;
		}
	}
	//alert("catValue: "+catValue)
	if(is_blank(catValue)){
		errorText = errorText + "No Category selected. ";
		var header = document.getElementById('category_h');
		header.setAttribute("class", "error");
		result = false;
	}	
	
	if (result == false){
		replaceP("warnings", errorText);
		alert(errorText);
	}
	
	return result;
}

function is_blank(s){
	for(var i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if((c != ' ') && (c != '\n') && (c != '')) return false;
	}
	return true;
}

function replaceP(id, textitem){
	
	var newNode = document.createElement("p");
	newNode.setAttribute("id", id);
	
	var newText = document.createTextNode(textitem);
	newNode.appendChild(newText);
	
	var oldNode = document.getElementById(id);
	var parent = document.getElementById(id).parentNode;
	
	parent.replaceChild(newNode, oldNode);
}

function replaceSpan(id, textitem){
	
	var newNode = document.createElement("span");
	newNode.setAttribute("id", id);
	
	var newText = document.createTextNode(textitem);
	newNode.appendChild(newText);
	
	var oldNode = document.getElementById(id);
	var parent = document.getElementById(id).parentNode;
	
	parent.replaceChild(newNode, oldNode);
}

function companyStyle(choice){
	var field = document.getElementById("company");
	var row = document.getElementById("company_h");
	if(choice=="true"){
		field.removeAttribute("disabled");
		row.removeAttribute("class");
		replaceSpan("company_s", "*");
	}else{
		field.setAttribute("disabled", "true");
		row.setAttribute("class", "disabled");
		replaceSpan("company_s", " ");
	}
}