<!--
function datecheck(elementtocheck,req)
{
    var datestr = elementtocheck.value;
	var datestrlen = datestr.length;
	var bdf=0;
	var bd=0;

	var day=0;
	var month=0;
	var year=0;

	if(datestrlen == 0 && req == 1)
	{
		alert("Please complete required date field.\nThank You.\n");
		elementtocheck.focus();
		return 0;
	}
    else if (datestrlen == 0 && req == 0)
    {
        return 1;
    }

	if((datestrlen!=8 && datestrlen!=10) || datestr.charAt(2)!='/' || datestr.charAt(5)!='/')
	{
		alert("Please enter dates in the format DD/MM/YYYY only.\nThank You.\n");
		elementtocheck.value = "";
		elementtocheck.focus();
		return 0;
	}

	day = parseInt(datestr.substring(0,2), 10);
	month = parseInt(datestr.substring(3,5), 10);
	year = parseInt(datestr.substring(6,10), 10);

	bdf = 0;
	bd = 0;

	if(isNaN(day))bdf=1
	if(isNaN(month))bdf=1
	if(isNaN(year))bdf=1
	if(day < 1 || day > 31)bdf=1;
	if(month < 1 || month > 12)bdf=1;
	if((month == 4 || month == 6 || month == 9 || month ==11) && day > 30)bd=1;
	if(month == 2 && day > 29)bd=1;

	if(bdf==1)
	{
		alert("Please enter dates in the format DD/MM/YYYY using only integers.\nThank You.\n");
		elementtocheck.value = "";
		elementtocheck.focus();
		return 0;
	}

    if(bd==1)
	{
		alert("Sorry, " + datestr + " is not a valid date.\n");
		elementtocheck.value = "";
		elementtocheck.focus();
		return 0;
	}
	else
	{
		return 1;
	}
}



function radioChecked(radio)
{
	var r;
	for( r=0; r < radio.length; r++ )
	{
		if( radio[r].checked )
			return true;
	}
	return false;
}

function radioButtonChecked(radio,val)
{
	var r;
	for( r=0; r < radio.length; r++ )
	{
		if( radio[r].value == val && radio[r].checked )
			return true;
	}
	return false;
}

function checkChecked(form,name)
{
	var i;
	var mask = name+"[";
	for( i=0;i<form.elements.length;i++){
//	for(i in form.elements){
		if( form.elements[i].type=='checkbox' && form.elements[i].name.indexOf(mask)==0 && form.elements[i].checked)
			return true;
	}
	return false;
}



function validateForm(form,stage)
{
    if( stage == 1 ){

	    if( form.self.checked && !form.lease.checked && !form.tenancy.checked && !form.temp.checked){
	        alert("Please select at least one Agreement Type");
	        form.lease.focus();
	        return false;
	    }
	    if( (form.local.checked || form.destination.checked) && !radioChecked(form.role) ){
	        alert("Please select at least one Employed Job Role");
	        form.local.focus();
	        return false;
	    }
	    if( !form.local.checked && !form.destination.checked && !form.self.checked ){
	        alert("Please indicate if you would like to be employed or self-employed");
	        form.local.focus();
	        return false;
	    }
	    if( form.specificcb.checked && form.specific.value.length == 0){
	        alert("Please enter the name and location of the pub that you are interested in");
	        form.specific.focus();
	        form.specific.select();
	        return false;
	    }
	    if (form.surname_app.value.length == 0){
	        alert("Please complete the applicant's Surname");
	        form.surname_app.focus();
	        form.surname_app.select();
	        return false;
	    }
	    if (form.firstname_app.value.length == 0){
	        alert("Please provide the applicant's First name");
	        form.firstname_app.focus();
	        form.firstname_app.select();
	        return false;
	    }

	    if (!datecheck(form.dob_app,0))return false;

	    if (form.telephone_app.value.length == 0){
	        alert("Please provide the applicant's Telephone number");
	        form.telephone_app.focus();
	        form.telephone_app.select();
	        return false;
	    }

	    if (form.addr1_app.value.length == 0){
	        alert("Please provide the applicant's street address details");
	        form.addr1_app.focus();
	        form.addr1_app.select();
	        return false;
	    }
	    if (form.town_app.value.length == 0 ){
	        alert("Please provide the applicant's town");
	        form.town_app.focus();
	        form.town_app.select();
	        return false;
	    }
	    if (form.county_app.value.length == 0 ){
	        alert("Please provide the applicant's county");
	        form.county_app.focus();
	        form.county_app.select();
	        return false;
	    }
	    if (form.postcode_app.value.length == 0 ){
	        alert("Please provide the applicant's postcode");
	        form.postcode_app.focus();
	        form.postcode_app.select();
	        return false;
	    }
	    if( form.mediatype.selectedIndex == 0 ||  form.mediasource.selectedIndex == 0 ){
	        alert("Please select how you heard about Greene King");
	        form.mediatype.focus();
	        return false;

	    }
    }
    if( stage == 2 ) {
        //nothing to check
    }
    if( stage == 3) {
        if (form.employment_position_app1.value.length == 0 || form.employer_app1.value.length == 0 ){
            alert("Please supply your current employment details");
            form.employment_position_app1.focus();
            form.employment_position_app1.select();
            return false;
        }
        if (!form.bankrupt_app[0].checked && !form.bankrupt_app[1].checked){
            alert("Please indicate whether or not bankruptcy proceedings have been taken against you");
            form.bankrupt_app[0].focus();
            return false;
        }
    }
    if( stage == 4){
	    if (!parseUBC(form.trade_bedrooms, "Bedrooms")) return false;
	    if (parseInt(form.trade_bedrooms.value, 10) < 0 || parseInt(form.trade_bedrooms.value, 10) > 10 || isNaN(form.trade_bedrooms.value)){
	        alert("Please indicate the number of bedrooms required (USING ONLY the digits 0-9), maximum of 10.");
	        form.trade_bedrooms.focus();
	        form.trade_bedrooms.select();
	        return false;
	    }
        if (!parseUBC(form.priv_bedrooms, "Bedrooms")) return false;
        if (parseInt(form.priv_bedrooms.value, 10) < 0 || parseInt(form.priv_bedrooms.value, 10) > 10 || isNaN(form.priv_bedrooms.value)){
            alert("Please indicate the number of bedrooms required (USING ONLY the digits 0-9), maximum of 10.");
            form.priv_bedrooms.focus();
            form.priv_bedrooms.select();
            return false;
        }

	    if( !checkChecked(form,'county') ){
	        alert("Please select at least 1 preferred County");
	        return false;
	    }
	    if( !checkChecked(form,'location') ){
	        alert("Please select at least 1 preferred Location");
	        return false;
	    }
	    if( !checkChecked(form,'tradingcategory') ){
	        alert("Please select at least 1 preferred Trading Category");
	        return false;
	    }
    }
    if(stage == 5){
        if (form.self.value.length != 0 && !parseUBC(form.capital, "Unborrowed Capital Available")) return false;
        if (form.self.value.length != 0 && gcfloatcheck(form.capital) < 5000){
            alert("£5000 unborrowed capital is our minimum requirement.\nIf you do not have this available our managed house\ndivision would be pleased to hear from you at\nhttp://www.greeneking.co.uk");
            form.capital.focus();
            form.capital.select();
            return false;
        }
        if( form.self.value.length != 0 && form.capitalsource.value.length == 0 ){
            alert("Please describe the source of your capital");
            form.capitalsource.focus();
            form.capitalsource.select();
            return false;
        }
        if( (form.local.value.length !=0 || form.destination.value.length!=0) && !parseUBC(form.salary,"Minimum Salary")) return false;
        if ((form.local.value.length!=0 || form.destination.value.length!=0) && form.notice.value.length == 0 ){
            alert("Please indicate your curent notice period");
            form.notice.focus();
            return false;
        }
        if( !form.agree.checked || form.agreedate.value.length == 0 ){
            alert("Please complete the Declaration before submitting the application");
            form.agree.focus();
            return false;
        }
    }
    if( stage == 6){
        if( !radioChecked(form.gender_app) ){
            alert("Please applicants gender");
            return false;
        }
        if( !radioChecked(form.ageband_app) ){
            alert("Please select applicants age band");
            return false;
        }
        if( !radioChecked(form.ethnicorigin_app) ){
            alert("Please select applicants ethnic origin");
            return false;
        }
        if( !radioChecked(form.disability_app) ){
            alert("Please indicate whether applicant has a disibility");
            return false;
        }
        if( !radioChecked(form.otherconditions_app) ){
            alert("Please indicate whether applicant has other conditions");
            return false;
        }
        if( form.firstname_part.value.length!=0 || form.surname_part.value.length!=0 ){
            if( !radioChecked(form.gender_part) ){
                alert("Please select partners gender");
                return false;
            }
            if( !radioChecked(form.ageband_part) ){
                alert("Please select partners age band");
                return false;
            }
            if( !radioChecked(form.ethnicorigin_part) ){
                alert("Please select partners ethnic origin");
                return false;
            }
            if( !radioChecked(form.disability_part) ){
                alert("Please indicate whether partner has a disibility");
                return false;
            }
            if( !radioChecked(form.otherconditions_part) ){
                alert("Please indicate whether partner has any other conditions");
                return false;
            }
        }
    }

    return true;
}

function parseUBC(elementtocheck, fielddisplayname)
{
	var pattern = /^\d+\b/;
	if(!pattern.test(elementtocheck.value)){
		elementtocheck.focus();
		elementtocheck.select();
		alert("Please complete the " + fielddisplayname + " field USING ONLY the digits 0-9 e.g. 20000");
		return 0;
	}
	return 1;
}

function gcfloatcheck(element)
{
	var bnf=0;
	var numstrlen = element.value.length;
	var numstrnopunc = "";
	var retval=0;

	for(c=0;c<numstrlen;c++)
	{
		if(element.value.charAt(c)!="0" && element.value.charAt(c)!="1" && element.value.charAt(c)!="2" && element.value.charAt(c)!="3" && element.value.charAt(c)!="4" && element.value.charAt(c)!="5" && element.value.charAt(c)!="6" && element.value.charAt(c)!="7" && element.value.charAt(c)!="8" && element.value.charAt(c)!="9" && element.value.charAt(c)!=",")
		{
			bnf=1;
			element.value = element.value.substring(0,c);
			c = numstrlen;
		}
		else if(element.value.charAt(c)!=',' && !bnf)
		{
			numstrnopunc = numstrnopunc + element.value.charAt(c)
		}
	}


	return parseInt(numstrnopunc, 10);
}

// -->
