function emailvalidator(field, compulsary) {
    var allvalid = true;
    if (field.value == "" && compulsary == 1) {
        alert ("Please enter your email address");
        field.focus();
        return false;
    }
    else if (field.value.length > 0) {
        if (window.RegExp) {
            var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
            var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
            var reg1 = new RegExp(reg1str);
            var reg2 = new RegExp(reg2str);
            if (!reg1.test(field.value) && reg2.test(field.value)) {var allvalid = true;}
            else {var allvalid = false;}
        }
        else {
            var emailok = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-@.'#£$()<>-_\t\r\n\f";
            if (!validlength(field.value, 5)) {allvalid = false;}
            if (field.value.indexOf ('@') < 1) {allvalid = false;}
            if (field.value.lastIndexOf ('.') < (field.value.indexOf ('@') + 2)) {allvalid = false;}
            if (field.value.lastIndexOf ('.') > (field.value.length - 3)) {allvalid = false;}
            for (i = 0;  i < field.value.length;  i++) {
                ch = field.value.charAt(i);
                for (j = 0;  j < emailok.length;  j++)
                if (ch == emailok.charAt(j))
                    break;
                if (j == emailok.length) {
                    allvalid = false;
                    break;
                }
            }
        }
        if (!allvalid) {
            alert("Please enter a valid email address")
            field.focus();
            field.select();
            return false;
        }
        else {return true}
    }
    else {return true;}
}
function textvalidator(field, compulsary, alertvalue) {
    var textok = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-@.,?!#£$&()<>/=:-'%_ \t\r\n\f";
    var allvalid = true;
    everythingok = true;
    if (field.value == "" && compulsary == 1) {
        alert ("Please enter your " + alertvalue);
        field.focus();
        return false;
    }
    else if (field.value.length > 0) {
        for (i = 0;  i < field.value.length;  i++) {
            ch = field.value.charAt(i);
            for (j = 0;  j < textok.length;  j++)
            if (ch == textok.charAt(j))
                break;
            if (j == textok.length) {
                allvalid = false;
                break;
            }
        }
        if (!allvalid) {
            alert("Please enter only letters, number, spaces and -@.'#£$()/<>=-_ characters in " + alertvalue);
            field.focus();
            field.select();
            return false;
        }
        else {return true}
    }
    else {return true;}
}
function numbervalidator(field, compulsary, alertvalue) {
    var numberok = "0123456789-/()+. ";
    var allvalid = true;
    everythingok = true;
    if (field.value == "" && compulsary == 1) {
        alert ("Please enter your " + alertvalue);
        field.focus();
        return false;
    }
    else if (field.value.length > 0) {
        for (i = 0;  i < field.value.length;  i++) {
            ch = field.value.charAt(i);
            for (j = 0;  j < numberok.length;  j++)
            if (ch == numberok.charAt(j))
                break;
            if (j == numberok.length) {
                allvalid = false;
                break;
            }
        }
        if (!allvalid) {
            alert("Please enter only numbers, spaces and -/()+. characters in " + alertvalue);
            field.focus();
	        field.select();
            return false;
        }
        else {return true}
    }
    else {return true}
}
function radiovalidator(field,alertvalue) {
	var webcomplete=false
	for (j=0;j<field.length;j++) {
		if (field[j].checked) {webcomplete=true}
	}
	if(!webcomplete) {alert(alertvalue);field[0].focus();return false}
	else {return true}
}
