//Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'

function createAjaxObj(){
var httprequest=false
if (window.XMLHttpRequest){ // if Mozilla, Safari etc
httprequest=new XMLHttpRequest()
if (httprequest.overrideMimeType)
httprequest.overrideMimeType('text/xml')
}
else if (window.ActiveXObject){ // if IE
try {
httprequest=new ActiveXObject("Msxml2.XMLHTTP");
} 
catch (e){
try{
httprequest=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return httprequest
}

var ajaxpack=new Object()
ajaxpack.basedomain="http://"+window.location.hostname
ajaxpack.ajaxobj=createAjaxObj()
ajaxpack.filetype="txt"
ajaxpack.addrandomnumber=0 //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype){
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
var parameters=parameters+"&ajaxcachebust="+new Date().getTime()
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange=callbackfunc
this.ajaxobj.open('GET', url+"?"+parameters, true)
this.ajaxobj.send(null)
}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype){
ajaxpack.ajaxobj=createAjaxObj() //recreate ajax object to defeat cache problem in IE
if (this.ajaxobj){
this.filetype=filetype
this.ajaxobj.onreadystatechange = callbackfunc;
this.ajaxobj.open('POST', url, true);
this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
this.ajaxobj.setRequestHeader("Content-length", parameters.length);
this.ajaxobj.setRequestHeader("Connection", "close");
this.ajaxobj.send(parameters);
}
}


	function validateForm()
	{

		var check_1 = validateField('contactname','1', 3, 2);
		var check_3 = validateEmail2('email','3');
		var check_4 = validateNumber('phone','4');
		var check_5 = validateField('message','5', 10, 2);
		var check_8 = validateState('state','7');
		
		
				var currentclient = document.getElementById("currentclient").checked;
				
			if(currentclient == '1')
			{
				var check_6 = true;
				var check_9 = true;
			}
			else
			{
				var check_6 = validateField('address1','6', 3, 2);
				var check_9 = validateField('country','7', 1, 2);
			}

	if(check_1 == true && check_3 == true && check_4 == true && check_5 == true && check_6 == true && check_8 == true && check_9 == true)
		{

			var contactname = document.getElementById("contactname").value;
			var firmname = document.getElementById("firmname").value;
			var email = document.getElementById("email").value;
			var phone = document.getElementById("phone").value;
			var message = document.getElementById("message").value;
			
			var url = document.getElementById("url").value;
			
			var form = document.getElementById("form").value;
			var subject = document.getElementById("subject").value;
			var country = document.getElementById("country").value;
			
			var address1 = document.getElementById("address1").value;
			var address2 = document.getElementById("address2").value;
			var address3 = document.getElementById("address3").value;
			
			var state = document.getElementById("state").value;
			
			var zipcode = document.getElementById("zipcode").value;

var parameters = "contactname="+contactname+"&address1="+address1+"&address2="+address2+"&address3="+address3+"&state="+state+"&zipcode="+zipcode+"&firmname="+firmname+"&email="+email+"&phone="+phone+"&message="+message+"&url="+url+"&form="+form+"&country="+country+"&subject="+subject;
var url = "/scriptlib/forms.php";

document.getElementById("formDiv").innerHTML=
'<table width="100%" height="100%" border="00" cellspacing="00" cellpadding="00">' +
'  <tr>' +
'    <td><div align="center" style="padding: 135px; padding-left: 215px"><img width="48" height="48" src="/files/images/ajax-loader.gif"></div></td>' +
'  </tr>' +
'</table>';

ajaxpack.postAjaxRequest(url, parameters, processGetPost, "txt");
// ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype){

}




	}
	
	function run_success(){
	
document.getElementById("formDiv").innerHTML=
'	  <table id="form">' +
'  <tr>' +
'' +
'  <td>' +
'  	Thank you for submitting the form to BGL. We will respond to your message within one business day.' +
'  </td>' +
'  </tr>' +
'  </table>';	
	}
	
	function run_fail () {
	var emailriddlerarray=[105,110,102,111,64,98,103,108,99,111,114,112,46,99,111,109,46,97,117]
var encryptedemail_id17='' //variable to contain encrypted email 
for (var i=0; i<emailriddlerarray.length; i++){
 encryptedemail_id17+=String.fromCharCode(emailriddlerarray[i])
}
document.getElementById("formDiv").innerHTML=
'	  <table id="form">' +
'  <tr>' +
'' +
'  <td>' +
'  Unfortunately your form was unable to be submited to BGL. Please try again later or email <a href="mailto:'+encryptedemail_id17+'">'+encryptedemail_id17+'</a>.' +
'  </td>' +
'  </tr>' +
'  </table>';


	
	}
	
	function processGetPost(){
var myajax=ajaxpack.ajaxobj
var myfiletype=ajaxpack.filetype
if (myajax.readyState == 4){ //if request of file completed
if (myajax.status==200 || window.location.href.indexOf("http")==-1){ //if request was successful or running script locally
if(myajax.responseText == "success"){
run_success();
} else {
run_fail();

}

}
}
}
	
	
	function runClient(set)
		{
			document.getElementById('address_row').style.display = set;
			document.getElementById('postcode_row').style.display = set;
			document.getElementById('country_row').style.display = set;
	}


		 function validateNum(field, num)
	{

	 var x = document.getElementById(field).value;
	var anum=/(^\d+$)|(^\d+\.\d+$)/
	if (anum.test(x))
	error=true
	else{
	error=false
	}


      	var errorField = document.getElementById('err_'+num);
	
		if(error == true){

errorField.innerHTML = '';
		} else {

errorField.innerHTML = 'The field can only contain numbers';	
		}
		
return error;

	}


function StateCheck(nme){

		  var country = document.getElementById('country').value;

		if(country == "Australia")
		{
		  document.getElementById(nme).style.display = ''; 
			
		}
		else 
		{
			
		  document.getElementById(nme).style.display = 'none'; 
		}
		
		
}

	function validateState(field, num)
	{
	      var country = document.getElementById('country').value;
	      var state = document.getElementById(field).value;
      	  var errorField = document.getElementById('err_'+num);
		if(country == "Australia")
		{
			if(state == "N/A"){
				var returnv = false; 
			} else {
				var returnv = true; 
			}
			
			
			
		} else { var returnv = true; }
		
		if(returnv == false){
		errorField.innerHTML = 'This field cannot be empty.';	
		} else {
		errorField.innerHTML = '';	
		}
		
		return returnv;
		
		
	}

	
	    function validateEmail2(field, num)
	{
	
	      var str = document.getElementById(field).value;

      	var errorField = document.getElementById('err_'+num);
		
		if(str == ''){
		
		errorField.innerHTML = 'This field cannot be empty.';	
		return false;
		} else {
		
		
		var filter=/^.+@.+\..{2,3}$/

 		if (filter.test(str)){
			error=true;
 		
		errorField.innerHTML = '';
		
		} else {
    	error=false;
		errorField.innerHTML = 'The email entered is invalid.';	
		
		}

       
		
		return error;
	
	}

	
	}

   function validateEmail(field, num)
	{
		var str = field.value;

      	var errorField = document.getElementById('err_'+num);
		
		if(str == ''){
		
		errorField.innerHTML = 'This field cannot be empty.';	
		} else {
		
		var filter=/^.+@.+\..{2,3}$/

 		if (filter.test(str)){


    	error=true
		} else {
    	error=false
		}

        
		if(error == true){
	
		errorField.innerHTML = '';
		} else {
		errorField.innerHTML = 'The email entered is invalid.';	
		}

}

	}
	
	    function validateField(field, number, char, type)
    {

	 var fieldName = document.getElementById(field);

      var _errorField = 'err_'+number;
      var errorField = document.getElementById(_errorField);

      var length = document.getElementById(field).value.length;

		if(char >= length){
			if(char == 1)
			{
        errorField.innerHTML = 'This field must be entered.';
			}
				else
			{
        errorField.innerHTML = 'This field must be '+char+' characters.';
			}
	var return_value = false;
		}      else
      {

      if (fieldName.value == "")
      {
        errorField.innerHTML = 'This field cannot be empty.';
		var return_value = false;
      }
      else
      {
		var err = 2;
      }

		var err = 2;
      }
	  
	  if(err == 2){
	          errorField.innerHTML = '';
		var return_value = true;

	  }
	  return return_value;
	  
    }


    function validateNumber(field, num)
	{

	if(field == "phone"){
	
	 var field = document.getElementById(field);
	 
	} else {

}
      	var errorField = document.getElementById('err_'+num);
		var fieldValue = field.value;
if(fieldValue == ''){
        errorField.innerHTML = 'This field cannot be empty';
		var returnv = false;

} else
{

var stripped = fieldValue.replace(/[\(\)\.\-\ ]/g, '');
//strip out acceptable non-numeric characters
if (isNaN(parseInt(stripped))) {
		errorField.innerHTML = "The phone number contains illegal characters.";	
		var returnv = false;
} else 
{
		errorField.innerHTML = '';

if (stripped.length <= 7) {
		errorField.innerHTML = "The phone number is not long enough.";	var returnv = false;

} else 
{
		errorField.innerHTML = '';
	
		var returnv = true;
}

}

}
return returnv;
}