var defaultColor;


// -----------------------------------------------------------------------------
// Search through source string and remove characters contained in 'exludeChars'
// -----------------------------------------------------------------------------
function filterExclude(source, excludeChars) {
 	var r = "";
	var s = source;
	var i, c;

	for (i = 0; i < s.length; i++) {
		c = s.charAt(i);
		if (excludeChars.indexOf(c) == -1) r += c;
	}
	return r;
}

// -----------------------------------------------------------------------------
// Search through source and remove characters not contained in 'includeChars'
// -----------------------------------------------------------------------------
function filterInclude(source, includeChars) {
 	var r = "";
	var s = source;
	var i, c;

	for (i = 0; i < s.length; i++) {
		c = s.charAt(i);
		if (includeChars.indexOf(c) != -1) r += c;
	}
	return r;
}

// -----------------------------------------------------------------------------
// Check that input is at least a string with the given number of characters
// (blanks excluded)
// -----------------------------------------------------------------------------
function minimumNonBlanks(el, minimumLength) {
	var s = el.value;
	s = filterExclude(s, " ");
	return s.length >= minimumLength;
}

// -----------------------------------------------------------------------------
// Check if input is empty or only contains blanks
// -----------------------------------------------------------------------------
function isBlank(el) {
	var i, c;

	if (! el) return true;

	var s = el.value;

	if (s.length <= 0) return true;

	for (i = 0; i < s.length; i++) {
		if (s.charAt(i) != ' ') return false;
	}
	return true;
}

// -----------------------------------------------------------------------------
// Check that input is a number
// -----------------------------------------------------------------------------
function isNumber(el) {
	var s = el.value;
	var n = filterInclude(s, " ,.0123456789");
	if (s.length != n.length) return false;
	return true;
}

// -----------------------------------------------------------------------------
// Check that input is a number  with the given length
// -----------------------------------------------------------------------------
function isNumberWithLength(el, numLength) {
	var s = filterExclude(el.value, " ");
	var n = filterInclude(s, "0123456789");
	if (s.length != numLength || s.length != n.length) return false;
	return true;
}

// -----------------------------------------------------------------------------
// Get choise value, if any
// -----------------------------------------------------------------------------
function getChoise(el) {
	var i;
	var upper = el.length - 1;

	for (i=0; i<=upper; i++) {
	    if (el[i].checked=="1") {
	       return el[i].value;
	    }
	}
	return "";
}

// -----------------------------------------------------------------------------
// Check that input is a number  with the given length
// -----------------------------------------------------------------------------
function setFocus(el) {
	if (el.style) el.style.border = "solid 1px red";
}

// -----------------------------------------------------------------------------
// Check that input is a number  with the given length
// -----------------------------------------------------------------------------
function setNormal(el) {
	if (el.style) el.style.border = "solid 1px #999999";
}

// -----------------------------------------------------------------------------
// Check if form input is valid
// -----------------------------------------------------------------------------
function checkInput(form) {
	var valid  = true;
	var errMsg = "Vennligst fyll ut alle manglende felter:\n";

	// Fornavn
	if (form.gf_fornavn)
	if (isBlank(form.gf_fornavn)) {
		valid = false;
		errMsg = errMsg + "- fornavn\n";
	}

	// Etternavn
	if (form.gf_etternavn)
	if (isBlank(form.gf_etternavn)) {
		valid = false;
		errMsg = errMsg + "- etternavn\n";
	}

	// Adresse (Privat)
	if (form.gf_adresse)
	if (isBlank(form.gf_adresse)) {
		valid = false;
		errMsg = errMsg + "- adresse (privat)\n";
	}

	// Postnr
	if (form.gf_postnr)
	if (isBlank(form.gf_postnr)) {
		valid = false;
		errMsg = errMsg + "- postnr\n";
	}

	// Poststed
	if (form.gf_poststed)
	if (isBlank(form.gf_poststed)) {
		valid = false;
		errMsg = errMsg + "- poststed\n";
	}

	if (valid) errMsg = "";

	// E-post/Telefon/Mobil
	if (form.gf_epost && form.gf_telefon && form.gf_telefon_mobil)
	if (isBlank(form.gf_epost) && form.gf_telefon && form.gf_telefon_mobil) {
		valid = false;
		errMsg = errMsg + "\nMinst ett av disse feltene må fylles ut:\n- e-post\n- telefon\n- mobil\n";
	}

	if (! valid) alert(errMsg);
	return valid;
}

