function validate(theform){
var errors = 0;

if(document.getElementById('email')){
  if(vemail('email') === false){
    errors++;
  }
}

if(document.getElementById('name')){
  if(stringnotempty('name') === false){
    errors++;
  }
}

// Company Name
if(document.getElementById('company_name')){
  if(stringnotempty('company_name') === false){
    errors++;
  }
}

// Contact name
if(document.getElementById('contact_name')){
  if(stringnotempty('contact_name') === false){
    errors++;
  }
}

// Website Address
if(document.getElementById('website_url')){
  if(vwww('website_url') === false){
    errors++;
  }
}

// Citytown
if(document.getElementById('citytown')){
  if(dropempty('citytown') === false){
    errors++;
    alert('Please select a city or town');
  }
}

// Text 1
if(document.getElementById('text1')){
  if(stringnotempty('text1') === false){
    errors++;
  }
}

// Text 2
if(document.getElementById('text2')){
  if(stringnotempty('text2') === false){
    errors++;
  }
}

// Text 3
if(document.getElementById('maintext')){
  if(stringnotempty('maintext') === false){
    errors++;
  }
}

// Industry
if(document.getElementById('companytype')){
  if(stringnotempty('companytype') === false){
    errors++;
  }
}


// Budget
if(document.getElementById('budget')){
  if(stringnotempty('budget') === false){
    errors++;
  }
}


// Message
if(document.getElementById('message')){
  if(stringnotempty('message') === false){
    errors++;
  }
}


if(document.getElementById('county')){
  if(dropempty('county') === false){
    errors++;
    alert('Please select a county');
  }
}

if(document.getElementById('email')){
  if(vemail('email') === false){
    errors++;
  }
}

if(document.getElementById('website_url'))	{
	if(vwww('website_url') ===  false){
	errors++;
	}
}

if(document.getElementById('phone')){
  if(stringnotempty('phone') === false){
    errors++;
  }
}

  if(errors == 0){
    document.valform.submit();
  }else{
      alert('Please check your information');
  }

}

function vemail(emailv){
  if(document.getElementById(emailv)){ 
    if(checkMail(document.getElementById(emailv).value)){
    document.getElementById(emailv).style.border = '1px solid red';
    document.getElementById(emailv).style.background = 'url(images/cross.png) no-repeat right #D6D6D6';
//    document.getElementById(emailv+'val').src = 'images/cross.png';
      return false;
    }else{
     document.getElementById(emailv).style.border = '1px solid green';
    document.getElementById(emailv).style.background = 'url(images/tick.png) no-repeat right #D6D6D6';
//      document.getElementById(emailv+'val').src = 'images/tick.png';
      return true;
    }
  }else{
  alert('field '+emailv+' not found');
  return false;}
}

function vwww(webadd){
	if(document.getElementById(webadd)){
		if(checkWWW(document.getElementById(webadd).value)){
		document.getElementById(webadd).style.border = '1px solid red';
		document.getElementById(webadd).style.background = 'url(images/cross.png) no-repeat right #D6D6D6';
		return false;		
		} else {
		document.getElementById(webadd).style.border = '1px solid green';
		document.getElementById(webadd).style.background = 'url(images/tick.png) no-repeat right #D6D6D6';
		return true;
		}	
	} else {
	alert('field '+webadd+' not found');
	return false;}
}

function stringnotempty(fieldv){
if(document.getElementById(fieldv)){
  if(!notempty(document.getElementById(fieldv).value)){
    document.getElementById(fieldv).style.border = '1px solid red';
    document.getElementById(fieldv).style.background = 'url(images/cross.png) no-repeat right #D6D6D6';
//    document.getElementById(fieldv+'val').src = 'images/cross.png';
    return false;
  }else{
//  alert('got here');
    document.getElementById(fieldv).style.border = '1px solid green';
    document.getElementById(fieldv).style.background = 'url(images/tick.png) no-repeat right #D6D6D6';
//    document.getElementById(fieldv+'val').src = 'images/tick.png';
    return true;
  }
}else{return false;}
}

function dropempty(fieldv){
if(document.getElementById(fieldv)){
  if(!notempty(document.getElementById(fieldv).value)){
    document.getElementById(fieldv).style.border = '1px solid red'; 
    return false;
  }else{
    document.getElementById(fieldv).style.border = '1px solid green';
    return true;
  }
}else{return false;}
}

function checkWords(fieldv, fieldlen, fieldrem){
if(document.getElementById(fieldv)){
  if(!notempty(document.getElementById(fieldv).value)){
    document.getElementById(fieldv).style.border = '1px solid red'; 
	//document.getElementById(fieldv).style.background = 'url(images/cross.png) no-repeat 97% 50% #D6D6D6';
	document.getElementById(fieldv).style.backgroundImage = 'url(images/cross.png)';
	document.getElementById(fieldv).style.backgroundColor = '#D6D6D6';
	no_words = document.getElementById(fieldv).value.split(" ");
	rem_words = fieldlen - no_words.length;
	document.getElementById(fieldrem).innerHTML = 'Remaining words: '+rem_words;
    return false;
  }else{
	no_words = document.getElementById(fieldv).value.split(" ");
	if(no_words.length > fieldlen){
		document.getElementById(fieldv).style.border = '1px solid red';
		//document.getElementById(fieldv).style.background = 'url(images/cross.png) no-repeat 97% 50% #D6D6D6';
		document.getElementById(fieldv).style.backgroundImage = 'url(images/cross.png)';
		document.getElementById(fieldv).style.backgroundColor = '#D6D6D6';
		no_words = document.getElementById(fieldv).value.split(" ");
		rem_words = fieldlen - no_words.length;
		document.getElementById(fieldrem).innerHTML = 'Remaining words: '+rem_words;
		return false;
		} else {
		document.getElementById(fieldv).style.border = '1px solid green';
		document.getElementById(fieldv).style.background = 'url(images/tick.png) no-repeat right #D6D6D6';
		no_words = document.getElementById(fieldv).value.split(" ");
		rem_words = fieldlen - no_words.length;
		document.getElementById(fieldrem).innerHTML = 'Remaining words: '+rem_words;
		return true;
	}
  }
}else{return false;}
}

function notempty(val){
  if(val == ''){
      return false;  
      }else{    
      return true;  
      }  
}

function checkNum(fieldval){
var NumberToTest = fieldval.split(' ').join('');
var IsFound = /^-?\d+$/.test(NumberToTest);
  if((IsFound) && (NumberToTest.length >= 7) && (NumberToTest.length < 12)){
    return false;
  }else{
    return true;
  }
}

function checkMail(value)
{	var x = value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) 
  return false;
	else return true;
  }
  
 function checkWWW(value) {
    /*var v = new RegExp();
    v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");
    if (!v.test(form["URL"].value)) {
        return false;
		} else {
		return true;
		}
	var x = value;
	var filter = /^([a-zA-Z0-9_\.\-])+\.(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.text(x))
	return false;
	else return true;*/
	var x = value;
	var filter  = /^([a-zA-Z0-9_\.\-\:\/\/])+\.+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) 
  return false;
	else return true;
	} 
