


function trim(str) {
	return str.replace(/(^(\s+))|((\s+)$)/g, '');
}


function checkCatalogue(obj) {
	if (ua["dom"]) {
		var lang = obj.form.lang.value;

		if (obj.checked) {

			var frm = obj.form;
			var frmObj = null;
			var total = 0;

			for (var i = 0; i < frm.elements.length; i++) {
				frmObj = frm.elements.item(i);
				if (frmObj.name == 'catalogue') {
					total += (frmObj.checked ? 1 : 0);
				}
			}
			
			if (total > 4) {
				switch(lang) {
					case '1' :
						alert('- Du kan højst bestille 4 kataloger.');
						break;
					case '2' :
						alert('- You may select no more than 4 brochures.');
						break;
					case '3' :
						alert('- You may select no more than 4 brochures.');
						break;
				}
				obj.checked = false;
			}
		}
	}
}

function checkCompletion(id, complete) {
	if (ua["dom"]) {	
		var aLABEL = document.getElementsByTagName('LABEL');
		for (var i = 0; i < aLABEL.length; i++) {
			if (aLABEL[i].htmlFor == id) {
				aLABEL[i].className = (complete ? '' : 'incomplete');
			}
		}
	}
}


function validateSelect(elm) {
	if (ua["dom"]) {
		checkCompletion(elm.id, elm.selectedIndex > 0);
	}
}

function validateField(elm) {
	if (ua["dom"]) {
		elm.value = trim(elm.value);
		if (elm.value == '') {
			checkCompletion(elm.id, false);	
		}
		else {
			checkCompletion(elm.id, true);
		}
	}
}

function validateCatalogueForm() {
	var cf = document.forms['catalogue_form'];
	if (cf) {
		var proceed = true;
		var cf_lang = cf.lang;
		
		var cf_fname = cf.firstname;
		validateField(cf_fname);
		if (cf_fname.value == '') {
			proceed = false;
		}

		var cf_lname = cf.lastname;
		validateField(cf_lname);
		if (cf_lname.value == '') {
			proceed = false;
		}

		var cf_address1 = cf.address1;
		validateField(cf_address1);
		if (cf_address1.value == '') {
			proceed = false;
		}

		var cf_address2 = cf.address2;
		cf_address2.value = trim(cf_address2.value);
		
		var cf_postalcode = cf.postalcode;
		validateField(cf_postalcode);
		if (cf_postalcode.value == '') {
			proceed = false;
		}

		var cf_city = cf.city;
		validateField(cf_city);
		if (cf_city.value == '') {
			proceed = false;
		}

		var cf_country = cf.country;
		if (cf_country.selectedIndex == 0) {
			proceed = false;
		}
		validateSelect(cf_country);


		var cf_email = cf.email;
		cf_email.value = trim(cf_email.value);


		var cf_catalogue = cf.catalogue;
		var c_count = 0;

		if (cf_catalogue.length) {
			for (var i = 0; i < cf_catalogue.length; i++) {
				c_count += (cf_catalogue[i].checked ? 1 : 0);
			}
		}
		else {
			c_count += (cf_catalogue.checked ? 1 : 0);
		}

		if (c_count == 0) {
			proceed = false;
		}



		if (cf_fname.value != '' &&
			cf_lname.value != '' &&
			cf_address1.value != '' &&
			cf_postalcode.value != '' &&
			cf_city.value != '' &&
			cf_country.selectedIndex > 0 &&
			c_count > 0) {
			return true;
		}
		else {
			var error_str = "";

			if (c_count == 0) {
				switch(cf_lang.value) {
					case '1' :
						error_str += "- Vælg mindst ét katalog.\n";
						break;
					case '2' :
						error_str += "- Please select at least one brochure.\n";
						break;
					case '3' :
						error_str += "- Please select at least one brochure.\n";
						break;
				}
			}

			if (cf_fname.value == '' || 
				cf_lname.value == '' || 
				cf_address1.value == '' || 
				cf_postalcode.value == '' ||
				cf_city.value == '' ||
				cf_country.selectedIndex == 0) {
				switch(cf_lang.value) {
					case '1' :
						error_str += "- Ret venligst adresseoplysninger.\n";
						break;
					case '2' :
						error_str += "- Please complete address information.\n";
						break;
					case '3' :
						error_str += "- Please complete address information.\n";
						break;
				}
			}
			if (error_str.length > 0) {
				alert(error_str);
			}
			return false;
		}


	}
	return true;
}