function IsNumeric(sText)
{
   var ValidChars = "0123456789 ";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
}

function chkFld(frm)
{	
	if(frm.uEmail.value == "")
	{
		alert("Please enter your user name ..");
		frm.uEmail.focus();
		return false;
	}
	else
	{		
		var str = frm.uEmail.value;		
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		var error_status = 0;
		var error_string_contains = 0;			
		
		var quote= new Array(24);
		
		var error = new Array(24);
		error[0]="~"; 
		error[1]="`"; 
		error[2]="!"; 
		error[3]="#"; 
		error[4]="$";
		error[5]="%"; 
		error[6]="^"; 
		error[7]="&"; 
		error[8]="*";
		error[9]=":";
		error[10]=";";
		error[11]="?";
		error[12]=",";
		error[13]="/";
		error[14]="\"";
		error[15]="'";		
		error[16]="<";
		error[17]=">";		
		error[18]="(";
		error[19]=")";
		error[20]="{";
		error[21]="}";
		error[22]="[";
		error[23]="]";

		for(i=0; i<24; i++)
		{									
			if( str.indexOf(error[i]) > 0 )
			error_string_contains = 1;
		}	
		
		if(error_string_contains == 0)
		{
			if (str.indexOf(at)==-1){
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.charAt(lstr-1) == dot)
			{
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.indexOf(at,(lat+1))!=-1){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.indexOf(dot,(lat+2))==-1){
			    error_status = 1;
				alert("Invalid User Name");			
			    frm.uEmail.focus();
				return false;
			}
			else if (str.indexOf(" ")!=-1){
			    error_status = 1;
				alert("Invalid User Name");			
			    frm.uEmail.focus();
				return false;
			}					
			else if(frm.uFName.value == "")
			{
				error_status = 1;
				alert("Please enter First Name");
				frm.uFName.focus();
				return false;
			}
			else if(frm.uLName.value == "")
			{
				error_status = 1;
				alert("Please enter Last Name");
				frm.uLName.focus();
				return false;
			}
			/*else if(frm.uPosition.value == "")
			{		
				error_status = 1;
				alert("Please enter Position/job Title");
				frm.uPosition.focus();
				return false;		
			}
			else if(frm.uAddress.value == "")
			{		
				error_status = 1;
				alert("Please enter your Address");
				frm.uAddress.focus();
				return false;		
			}
			else if(frm.uCity.value == "")
			{		
				error_status = 1;
				alert("Please enter your Town/City");
				frm.uCity.focus();
				return false;		
			}
			else if(frm.uZip.value == "")
			{		
				error_status = 1;
				alert("Please enter your Post Code");
				frm.uZip.focus();
				return false;		
			}			
			else if(frm.uPhone.value == "")
			{		
				error_status = 1;
				alert("Please enter your Phone No.");
				frm.uPhone.focus();
				return false;		
			}*/			
			else if( (frm.uZip.value != "") || (frm.uPhone.value != "") || (frm.uFax.value != "") )
			{
				
				/*if(frm.uZip.value != "")
				{		
					var IsNumber = true;
					IsNumber = IsNumeric(frm.uZip.value);
					if(IsNumber == false)
					{
						error_status = 1;
						alert("Post code must be numeric");
						frm.uZip.focus();
						frm.uZip.value = "";
						return false;
					}		
				}*/
				if(frm.uPhone.value != "")
				{		
					var IsNumber = true;
					IsNumber = IsNumeric(frm.uPhone.value);
					if(IsNumber == false)
					{
						error_status = 1;
						alert("Phone No. must be numeric");
						frm.uPhone.focus();
						frm.uPhone.value = "";
						return false;
					}		
				}
				if(frm.uFax.value != "")
				{		
					var IsNumber = true;
					IsNumber = IsNumeric(frm.uFax.value);
					if(IsNumber == false)
					{
						error_status = 1;
						alert("Fax No. must be numeric");
						frm.uFax.focus();
						frm.uFax.value = "";
						return false;
					}		
				}
			}


			if(error_status == 0)
			{		
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			alert("User name contains invalid character ..");
			frm.uEmail.focus();
			return false;
		}		
	}	
}

function enableFieldOne()
{
	frm=document.demoform;
	if(frm.acceptTerms2.checked)
	{
		if(frm.acceptTerms1.checked) 
		{
			frm.submit.disabled=false;
		}
		else 
		{
			frm.submit.disabled=true;
		}
	}
	else
	{
		frm.submit.disabled=true;
	}
}

function chkContact(frm)
{	
	if(frm.uEmail.value == "")
	{
		alert("Please enter your user name ..");
		frm.uEmail.focus();
		return false;
	}
	else
	{		
		var str = frm.uEmail.value;		
		var at="@";
		var dot=".";
		var lat=str.indexOf(at);
		var lstr=str.length;
		var ldot=str.indexOf(dot);
		var error_status = 0;
		var error_string_contains = 0;			
		
		var quote= new Array(24);
		
		var error = new Array(24);
		error[0]="~"; 
		error[1]="`"; 
		error[2]="!"; 
		error[3]="#"; 
		error[4]="$";
		error[5]="%"; 
		error[6]="^"; 
		error[7]="&"; 
		error[8]="*";
		error[9]=":";
		error[10]=";";
		error[11]="?";
		error[12]=",";
		error[13]="/";
		error[14]="\"";
		error[15]="'";		
		error[16]="<";
		error[17]=">";		
		error[18]="(";
		error[19]=")";
		error[20]="{";
		error[21]="}";
		error[22]="[";
		error[23]="]";

		for(i=0; i<24; i++)
		{									
			if( str.indexOf(error[i]) > 0 )
			error_string_contains = 1;
		}	
		
		if(error_string_contains == 0)
		{
			if (str.indexOf(at)==-1){
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.charAt(lstr-1) == dot)
			{
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			   error_status = 1;
			   alert("Invalid User Name");
			   frm.uEmail.focus();
			   return false;
			}
			else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.indexOf(at,(lat+1))!=-1){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
			    error_status = 1;
				alert("Invalid User Name");
				frm.uEmail.focus();
			    return false;
			}
			else if (str.indexOf(dot,(lat+2))==-1){
			    error_status = 1;
				alert("Invalid User Name");			
			    frm.uEmail.focus();
				return false;
			}
			else if (str.indexOf(" ")!=-1){
			    error_status = 1;
				alert("Invalid User Name");			
			    frm.uEmail.focus();
				return false;
			}					
			else if(frm.uFName.value == "")
			{
				error_status = 1;
				alert("Please enter your Name");
				frm.uFName.focus();
				return false;		
			}			
			else if(frm.uComments.value == "")
			{
				error_status = 1;
				alert("Please enter your Comments/Questions");
				frm.uComments.focus();
				return false;		
			}
			else if( (frm.uZip.value != "") || (frm.uPhone.value != "") )
			{
				/*if(frm.uZip.value != "")
				{		
					var IsNumber = true;
					IsNumber = IsNumeric(frm.uZip.value);
					if(IsNumber == false)
					{
						error_status = 1;
						alert("Post code must be numeric");
						frm.uZip.focus();
						frm.uZip.value = "";
						return false;
					}		
				}*/
				if(frm.uPhone.value != "")
				{		
					var IsNumber = true;
					IsNumber = IsNumeric(frm.uPhone.value);
					if(IsNumber == false)
					{
						error_status = 1;
						alert("Phone No. must be numeric");
						frm.uPhone.focus();
						frm.uPhone.value = "";
						return false;
					}		
				}
			}
			if(error_status == 0)
			{		
				return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			alert("User name contains invalid character ..");
			frm.uEmail.focus();
			return false;
		}		
	}	
}