function ValidateAll()
{
	totalFields = document.forms[0].elements.length;
	fErrors = 0;
	goToField="";
	for (var i=0; i<totalFields; i++)
	{
		fieldname = 	document.forms[0].elements[i].name;
		fieldval = 		document.forms[0].elements[i].value;
		fieldtype = 	document.forms[0].elements[i].type;
		if(fieldtype=="text"||fieldtype=="textarea"||fieldtype=="password")
		{
			if(CheckField(fieldname,fieldval)==true)
			{
				fErrors++;
			}
		}
	}
	if(fErrors==0)
	{
		//document.forms[0].submit();
		
	}else{
		return false;
	}
}

function CheckField(fieldname,fieldvalue)
{
	var div = document.getElementById(fieldname+"Alert");
	//Check to see if field is e-mail, domain, password, or telephone number:
	if (fieldname == 'email_address1'||fieldname == 'email_address2'){
		return CheckEmail(fieldname,fieldvalue);
		}else{
			if (fieldname == 'email_address_12'||fieldname == 'email_address_22'){
				return CheckEmail2(fieldname,fieldvalue);
				}else{
					if (fieldname == 'domain'){
					return CheckDomain(fieldname,fieldvalue);
					}else{
						if (fieldname == 'password1'||fieldname == 'password2'){
						return CheckPassword(fieldname,fieldvalue);
						}else{
							//Set Required Fields here: (eg: fieldname == 'name'||fieldname == 'password'||fieldname == 'city')
							if (fieldname == 'id'
								||fieldname == 'name'
								||fieldname == 'first_names'
								||fieldname == 'surname' 
								||fieldname == 'full_name' 
								||fieldname == 'company_name'
								||fieldname == 'address1'
								||fieldname == 'city'
								||fieldname == 'post_code'
								||fieldname == 'region'
								||fieldname == 'country'
								||fieldname == 'tel'
								||fieldname == 'full_name2'
								||fieldname == 'address12'
								||fieldname == 'city2'
								||fieldname == 'post_code2'
								||fieldname == 'region2'
								||fieldname == 'country2'
								||fieldname == 'job'
								||fieldname == 'consultant'
								||fieldname == 'category'
								||fieldname == 'cover_note'
								||fieldname == 'uploadedfile'
								||fieldname == 'sub_category'
								||fieldname == 'vacancy_title'
								||fieldname == 'location'
								||fieldname == 'duration'
								||fieldname == 'contact_name'
								||fieldname == 'start_date'
								||fieldname == 'brand'
								||fieldname == 'category'
								||fieldname == 'price'
								||fieldname == 'trade_price'
								||fieldname == 'retail_price'
								||fieldname == 'quantity'
								||fieldname == 'weight'
								||fieldname == 'username'
								||fieldname == 'password1'
								||fieldname == 'password2'
								||fieldname == 'message'
								||fieldname == 'stock'
								||fieldname == '0kg'
								||fieldname == '0_5kg'
								||fieldname == '1kg'
								||fieldname == '2_5kg'
								||fieldname == '5kg'
								||fieldname == '10kg'){
								if(fieldvalue.length==0)
								{
									div.innerHTML = '<span class="red10"><B>Please complete field.</B></span>';
									div.style.display='block';
									return true;
								}else{
									div.innerHTML = '';
									div.style.display='none';
									return false;
						}
					}
				}
			}
		}		
	}
}


function CheckEmail(fieldname,fieldvalue)
{
var email1 = document.dForm.email_address1.value;
var email2 = document.dForm.email_address2.value;

//Check both fields have content:
if (email1 == '' || email2 == '') {
document.getElementById('email_address2Alert').innerHTML='<span class="red10"><B>Please enter email address twice.</B></span>'
document.getElementById('email_address2Alert').style.display='block';
return true;
}else{
document.getElementById('email_address2Alert').innerHTML=''
document.getElementById('email_address2Alert').style.display='none';
}

//Check both addresses are the same:
if (email1 != email2) {
document.getElementById('email_address2Alert').innerHTML='<span class="red10"><B>E-mail addresses do not match.</B></span>'
document.getElementById('email_address2Alert').style.display='block';
return true;
}else{
document.getElementById('email_address2Alert').innerHTML=''
document.getElementById('email_address2Alert').style.display='none';
}

//Validate E-mail Address:
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email2)){
document.getElementById('email_address1Alert').innerHTML=''
document.getElementById('email_address1Alert').style.display='none';
document.getElementById('email_address2Alert').innerHTML=''
document.getElementById('email_address2Alert').style.display='none';
}else{
document.getElementById('email_address2Alert').innerHTML='<span class="red10"><B>Invalid E-mail Address.</B></span>'
document.getElementById('email_address2Alert').style.display='block';
return true;
}
return false;
//end of e-mail validation.
}


function CheckEmail2(fieldname,fieldvalue)
{
var email12 = document.dForm.email_address_12.value;
var email22 = document.dForm.email_address_22.value;

//Check both fields have content:
if (email12 == '' || email22 == '') {
document.getElementById('email_address_22Alert').innerHTML='<span class="red10"><B>Please enter email address twice.</B></span>'
document.getElementById('email_address_22Alert').style.display='block';
return true;
}else{
document.getElementById('email_address_22Alert').innerHTML=''
document.getElementById('email_address_22Alert').style.display='none';
}

//Check both addresses are the same:
if (email12 != email22) {
document.getElementById('email_address_22Alert').innerHTML='<span class="red10"><B>E-mail addresses do not match.</B></span>'
document.getElementById('email_address_22Alert').style.display='block';
return true;
}else{
document.getElementById('email_address_22Alert').innerHTML=''
document.getElementById('email_address_22Alert').style.display='none';
}

//Validate E-mail Address:
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email22)){
document.getElementById('email_address_12Alert').innerHTML=''
document.getElementById('email_address_12Alert').style.display='none';
document.getElementById('email_address_22Alert').innerHTML=''
document.getElementById('email_address_22Alert').style.display='none';
}else{
document.getElementById('email_address_22Alert').innerHTML='<span class="red10"><B>Invalid E-mail Address.</B></span>'
document.getElementById('email_address_22Alert').style.display='block';
return true;
}
return false;
//end of e-mail validation.
}

function CheckDomain(fieldname,fieldvalue)
{
var domain = document.dForm.domain.value;

//Validate Domain Address:
if (domain == '') {
	document.getElementById('domainAlert').innerHTML=''
	document.getElementById('domainAlert').style.display='none';
	return false;
}else{
	if (/^\w+([\.-]?\w+)*.\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(domain)){
		document.getElementById('domainAlert').innerHTML=''
		document.getElementById('domainAlert').style.display='none';
		return false;
	}else{
		document.getElementById('domainAlert').innerHTML='<span class="red10"><B>Invalid domain entrered.</B></span>'
		document.getElementById('domainAlert').style.display='block';
		return true;
	}
}
//end of domain validation.
}

function CheckPassword(fieldname,fieldvalue)
{
var pwd1 = document.dForm.password1.value;
var pwd2 = document.dForm.password2.value;

//Check both fields have content:
if (pwd1 == '' || pwd2 == '') {
document.getElementById('password2Alert').innerHTML='<span class="red10"><B>Please enter password twice.</B></span>'
document.getElementById('password2Alert').style.display='block';
return true;
}else{
document.getElementById('password2Alert').innerHTML=''
document.getElementById('password2Alert').style.display='none';
}

//Check both passwords are the same:
if (pwd1 != pwd2) {
document.getElementById('password2Alert').innerHTML='<span class="red10"><B>Passwords do not match.</B></span>'
document.getElementById('password2Alert').style.display='block';
return true;
}else{
document.getElementById('password2Alert').innerHTML=''
document.getElementById('password2Alert').style.display='none';
}
return false;
//end of password validation.
}



// Illegal Character Restrictor
var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ '_()";
var numeric = ".0123456789";
var alphanumeric = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ _'-0123456789()?!£$%@:;][)(/";
var date = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789/";
var products = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ _-.,0123456789()";
var password = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
var email = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ _-.@0123456789";
var url = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 -.@/_";
var phone = "()-+ 0123456789";
var currency = ".0123456789";

// IE4+, Firefox, NS4+, Opera 7+
function restrict(e,list) {
  var key0;
  if(e && e.which) {
    key0 = e.which;
  } else {
    if(!e && window.event) e=window.event;
    if(e && e.keyCode) {
      key0 = e.keyCode;
    }
  }
  if(list.indexOf(String.fromCharCode(key0)) != -1) return true;
  else return false;
}

//Form Field Text Limiter
var ns6=document.getElementById&&!document.all

function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/ //detect alphanumeric keys
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}

function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}


function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> characters remaining.'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeyup=function(){ countlimit(thelimit,event,theform)}
}
else if (ns6){
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true); 
document.body.addEventListener('keyup', function(event) { countlimit(thelimit,event,theform) }, true); 
}
}