function toUpper(obj) {
    var pattern = /(\w)(\w*)/;
    var a = stripInitialBlank(obj.value);
    a = a.replace(/[\s+]/, "XSPACEX ");
    a = a.replace(/'/, "XQUOTEX'");
    a = a.replace(/-/, "XHASHX-");
    a = a.split(/[\s+'-]/g);
	if (isBlank(obj)) return;
    for (i = 0 ; i < a.length ; i ++ ) 
	{
        var parts = a[i].match(pattern);
        var firstLetter = parts[1].toUpperCase();
        var restOfWord = parts[2].toLowerCase();
        a[i] = firstLetter + restOfWord;
    }
        a = a.join("");
        obj.value = a.replace(/XSPACEX/i, " ").replace(/XQUOTEX/i, "'").replace(/XHASHX/i, "-");
}

var whitespace = " \t\n\r";
function isEmpty(str){   
	return ((str == null) || (str.length == 0))
}
function stripInitialBlank (str)
{   var i = 0;
    while ((i < str.length) && charInString (str.charAt(i), whitespace))
       i++;
    return str.substring (i, str.length);
}
function charInString (c, str)
{   for (i = 0; i < str.length; i++)
    {   if (str.charAt(i) == c) return true;
    }
    return false
}
function isBlank (obj)
{   var i;
	str = obj.value
    if (isEmpty(str)) 
		{
		obj.value='';
		return true;
		}	
    for (i = 0; i < str.length; i++)
    {   
        var c = str.charAt(i);
        if (whitespace.indexOf(c) == -1) 
			{
			return false;
			}	
    }
	obj.value='';	
    return true;
}


function validateValues(what) {
	alert ("Called");
    var valid = true;
    var checkBoxes = false;
    var checkboxChecked = false;
    var radioButtons = false;
    var radioChecked = false;
    for (var i=0, j=what.elements.length; i<j; i++) {
        myName = what.elements[i].name;
        alert (myName)
        if (myName.indexOf('radio') > -1) {
            radioButtons = true;
            if (what.elements[i].checked) radioChecked = true;
        }
        if (myName.indexOf('checkbox') > -1) {
            checkBoxes = true;
            if (what.elements[i].checked) checkboxChecked = true;
        }
        if (myName.indexOf('hidden') > -1 || myName.indexOf('password') > -1 || myName.indexOf('text') > -1)
            if (what.elements[i].value == what.elements[i].defaultValue) valid = false;
        if (myName.indexOf('select') > -1)
            if (what.elements[i].selectedIndex == 0) valid = false;
    }
    if ((checkBoxes && !checkboxChecked) || (radioButtons && !radioChecked)) valid = false;
    if (!valid)
        alert('Form not completely filled');
    return valid;
}

function alphaOnly(arguments) {
	if ((arguments != null) && (arguments.length > 0)) {
		for (var i = 0 ; i < arguments.length; i++) {
			if (document.frmFields[arguments[i]] != null) {
				document.frmFields[arguments[i]].value = document.frmFields[arguments[i]].value.replace(/[^a-zA-Z\-\s,\.]/ig, "");
			}
		}
	}
}

function alphaNumericOnly(arguments) {
	if ((arguments != null) && (arguments.length > 0)) {
		for (var i = 0 ; i < arguments.length; i++) {
			if (document.frmFields[arguments[i]] != null) {
				document.frmFields[arguments[i]].value = document.frmFields[arguments[i]].value.replace(/[^a-zA-Z0-9\-\s,\.]/ig, "");
			}
		}
	}
}

function numericOnly(arguments) {
	if ((arguments != null) && (arguments.length > 0)) {
		for (var i = 0 ; i < arguments.length; i++) {
			if (document.frmFields[arguments[i]] != null) {
				document.frmFields[arguments[i]].value = document.frmFields[arguments[i]].value.replace(/[^0-9\s]/ig, "");
			}
		}
	}
}


function alphaNumericEmailOnly(arguments) {
	if ((arguments != null) && (arguments.length > 0)) {
		for (var i = 0 ; i < arguments.length; i++) {
			if (document.frmFields[arguments[i]] != null) {
				document.frmFields[arguments[i]].value = document.frmFields[arguments[i]].value.replace(/[^a-zA-Z0-9\-\.@_]/ig, "");
			}
		}
	}
}

function checkMandatory(field_name, field_message) {
	if (eval("document.frmFields." + field_name + ".length") > 0) {
		if (eval("document.frmFields."+field_name+"[0].type") == 'radio' || eval("document.frmFields."+field_name+"[0].type") == 'checkbox') {
			for (var i = 0; i<eval("document.frmFields." + field_name + ".length"); i++) {
				if (eval("document.frmFields."+field_name+"["+i+"].checked") == true) {
					return true;
				}
			}	
			errMsg += field_message + "\n";
			errFlag = true;
			return true;
		} 
	} 
	if (isBlank(eval("document.frmFields."+field_name+""))) {
		errMsg += field_message + "\n";
		errFlag = true;
	}
	return true;
}

function checkEmail(field_name, field_message) {
	if (!isValidEmail(eval("document.frmFields."+field_name+""))) {
		errMsg += field_message + "\n";
		errFlag = true;
	}
	return true;
}
function isValidEmail(obj) {
	if (obj.value) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(obj.value)){
			return true;
			}
		return false;
	}
	return true;	
}

function checkPostcode(field_name, field_message) {
	if ((document.frmFields[field_name].value.length < 1) || (!isValidPostcode(eval("document.frmFields."+field_name+"")))) {
		errMsg += field_message + "\n";
		errFlag = true;
	}
	return true;
}
function isValidPostcode(obj) {
	if (obj.value) {
		if (/^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? ?[0-9][ABD-HJLN-UW-Z]{2})$/i.test(obj.value)){
			return true;
			}
		return false;
	}
	return true;	
}

