// JavaScript Document
function toggleCheck(obj){
	var togglediv=document.getElementById(obj);

	togglediv.checked = true;
}

function showDivPlain(obj){
	var changediv=document.getElementById(obj);

	if (changediv.style.display == "block"){
		changediv.style.display = "none";
	} else {
		changediv.style.display = "block";
	}
}

function resetFields(flds){
	for (var i in flds) {
		flds[i].style.background = 'White';
	}
}

function validateEmpty(fld,fldname) {
	var error = "";
 
	if (fld.value.length == 0) {
		fld.style.background = 'Yellow'; 
		error = "Field required: " + fldname + "\n";
	} else {
		fld.style.background = 'White';
	}
	return error;  
}

function validateEmptyNoFld(fld,fldname) {
	var error = "";
 
	if (fld.value.length == 0) {
		fld.style.background = 'Yellow'; 
		error = fldname + "\n";
	} else {
		fld.style.background = 'White';
	}
	return error;  
}

function validateEmail(fld) {
	var error="";
	var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
	var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
	var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
	if (fld.value == "") {
		fld.style.background = 'Yellow';
		error = "You didn't enter an email address\n";
	} else if (!emailFilter.test(tfld)) {              //test email for illegal characters
		fld.style.background = 'Yellow';
		error = "Please enter a valid email address\n";
	} else if (fld.value.match(illegalChars)) {
		fld.style.background = 'Yellow';
		error = "The email address contains illegal characters\n";
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateZip(fld) {
	var error = "";
	var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

	if (fld.value == "" || isNaN(parseInt(stripped)) || !(stripped.length == 5)) {
		error = "Invalid post code\n";
		fld.style.background = 'Yellow';
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateNum(fld,msg,minlen) {
	var error = "";
	var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

	if (fld.value == "" || isNaN(parseInt(stripped)) || (stripped.length < minlen)) {
		error = msg + "\n";
		fld.style.background = 'Yellow';
	} else {
		fld.style.background = 'White';
	}
	return error;
}

function validateDropdown(fld,msg) {
	var error = "";
 
	if (fld.selectedIndex == 0) {
		fld.style.background = 'Yellow'; 
		error = msg + "\n"
	} else {
		fld.style.background = 'White';
	}
	return error;  
}

function validateDropdownOth(fld1,fld2,msg) {
	var error = "";

	if (fld1.options[fld1.selectedIndex].value == "-1" && fld2.value.length == 0) {
		fld2.style.background = 'Yellow'; 
		error = msg + "\n"
	} else {
		fld2.style.background = 'White';
	}
	return error;  
}

function radioselected(fld) {
    var idx = -1;
	
    for (var i=fld.length-1; i > -1; i--) {
        if (fld[i].checked) {
			idx = i; 
			i = -1;
		}
    }
    if (idx > -1) {
		return idx;
	} else {
		return null;
	}
}

function trim(s)
{
	return s.replace(/^\s+|\s+$/, '');
}