	
	function searchForClientCreditReport(v1, v2, page)	{
		performVBRSearch(page);
	}
	
	function validateSearch(page)
	{
		var company_name  = $('company_name').value;
		var business_type = $('business_type').value;
		var company_name_no_space = company_name;
		company_name_no_space = company_name.replace(/^\s*|\s*$/g, "");
		var regex=/^[0-9A-Za-z-'&+ ]+$/;
		
		if(company_name.length < 3)
		{
			alert("Please use at least 3 characters for your company search.");
			return false;
		}
		else if(company_name_no_space.length < 3)	
		{
			alert("Please use at least 3 characters for your company search.");
			return false;
		}
		else if(!regex.test(company_name))	
		{
			alert("Please only use letters, numbers, commas, apostrophes and dashes.");
			return false;
		}
		else if(business_type=="0")
		{
			alert("Please select company search type from the dropdown.");
			return false;
		}
		else
		{
			performVBRSearch();
		}
	}
	
	function performVBRSearch(page)	{
		
		var url = 'ajax.php';
		var search_type = $('business_type').value;
		var company_name = $('company_name').value.gsub('&', ' and ');
		
		//company_name = company_name.gsub('&', 'and');

		var parameters = 'command=vbrSearch&company_name='+company_name+"&search_type="+search_type+"&page="+page;
		//alert(parameters);
		$('vbr_into').hide();
	
		new Ajax.Updater("vbr_search_results", url, { 
		 method : 'post',
		 parameters: parameters,
		 onCreate : function(wait)	{
		 	$("vbr_search_results").innerHTML = "<h2>Performing Search</h2><p>Working</p><br/><img src=\"images/progress_bar.gif\" />";
		 },
		 onFailure : function(resp) { 
		   alert("Oops, there's been an error."); 
		 } 
		});
	}
	
	function searchAgain()	{
		//$("vbr_search").show();
		performVBRSearch();
	}
	
	function getVBRVerification(company_number, company_name)	{
		var url = 'ajax.php';
		//var company_name = $('company_name').value;
		var search_type = $('business_type').value;
		
		new Ajax.Updater("vbr_search_results", url, { 
		 method : 'post',
		 parameters: 'command=vbrVerification&company_number='+company_number+'&company_name='+company_name+"&search_type="+search_type,
		 onCreate : function(wait)	{
		 	$("vbr_search_results").innerHTML = "<h2>Checking Business</h2><p>Working</p>";
		 },
		 onFailure : function(resp) { 
		   alert("Oops, there's been an error."); 
		 } 
		});
	}
	
	function vbrBuyReport(company_number, company_type)	{
		var url = 'ajax.php';

		new Ajax.Updater("vbr_search_results", url, { 
		 method : 'post',
		 parameters: 'command=vbrBuyReport&company_number='+company_number+"&company_type="+company_type,
		 onCreate : function(wait)	{
		 	$("vbr_search_results").innerHTML = "<h2>Processing Request</h2><p>Working</p><br/><img src=\"images/progress_bar.gif\" />";
		 },
		 onFailure : function(resp) { 
		   alert("Oops, there's been an error."); 
		 } 
		});
		$("vbr_search").hide();
		$("vbr_title").innerHTML = "CheckRate Credit Report Payment";
	}

	function checkPaymentDetailsForm()	{
		var f = document.payment_form;
		
		//Date variables
		var oDate = new Date();
		var sMonth = oDate.getMonth() + 1;
		var sYear = oDate.getFullYear(); 
		
		cardholder = f.CardHolder.value;
		cardnumber = f.CardNumber.value;
		cardstartmonth = f.CardStartMonth.value;
		cardstartyear = f.CardStartYear.value;
		expirymonth = f.ExpiryDateMonth.value;
		expiryyear = f.ExpiryDateYear.value;
		cv2 = f.CV2.value;
		billing1 = f.BillingAddress1.value;
		billing2 = f.BillingAddress2.value;		
		billing_postcode = f.BillingPostCode.value;
		
		if (expirymonth && (expirymonth < sMonth))	{
			if (expiryyear <= sYear)	{
				valid = 0;
			} else {
				valid = 1;
			}
		} else {
			if (expiryyear >= sYear)	{
				valid = 1;
			}	else {
				valid = 0;
			}
		} 
		
		return 1;
		
		/*if (!cardholder)	{
			document.getElementById("pf_error1").style.display = "block";
		} else {
			document.getElementById("pf_error1").style.display = "none";
			if (cardnumber.length < 12)	{
				document.getElementById("pf_error2").style.display = "block";
			} else {
				document.getElementById("pf_error2").style.display = "none";
				if (!valid)	{
					document.getElementById("pf_error3").style.display = "block";
				} else {
					document.getElementById("pf_error3").style.display = "none";				
					if (cv2.length < 2)	{
						document.getElementById("pf_error4").style.display = "block";
					} else {
						document.getElementById("pf_error4").style.display = "none";					
						if (!billing1 && !billing2)	{
							document.getElementById("pf_error5").style.display = "block";
						} else {
							document.getElementById("pf_error5").style.display = "none";						
							if (billing_postcode.length < 5)	{
								document.getElementById("pf_error6").style.display = "block";
							} else {
								document.getElementById("pf_error6").style.display = "none";							
								return 1;
							}
						}
					}
				}
			}
		}*/
	}

	/*function parsePaymentForm(company_name, company_type, page, company_number)	{
		document.getElementById("search_criteria").style.display = "none";
		x_displayPaymentForm(company_name, company_type, page, company_number, displayPaymentForm);
	}*/

	function processPayment(company_name, company_type, page, company_number)	{
		var valid=0;

		var email = $('email').value;
		if(email.length > 1)
		{
			email_val = echeck(email);
			if(email_val==false)
			{
				valid=1;
			}
		}

		//valid = checkPaymentDetailsForm();
		var valid_fields=new Array("CardHolder","CardNumber","CV2","postcode","address_1");
		if(validation(valid_fields)==false)
		{
			valid=1;
		}

		var d = new Date();
		var current_year = d.getFullYear();
		var current_month = d.getMonth();
		
		var expiryYear  = $('ExpiryDateYear').value;
		var expiryMonth = $('ExpiryDateMonth').value;
		var startYear  = $('CardStartYear').value;
		var startMonth = $('CardStartMonth').value;
		
		if(current_year == expiryYear && expiryMonth <= current_month && valid==0)
		{
			alert ("Credit card has expired");
			valid=1;
		}
		
		if(current_year == startYear && startMonth > current_month && valid==0)
		{
			alert ("Card has not started yet");
			valid=1;
		}
		
		if($('CV2').value.length < 3)
		{
			alert("Card Security Number is too short");
			valid=1;
		}
		
	
		if (valid==0) {
			var url = 'ajax.php';
			var payment_details = $('payment_form').serialize(); 
			
			new Ajax.Updater("vbr_search_results", url, { 
			 method : 'post',
			 parameters: 'command=vbrPurchase&company_name='+company_name+'company_number='+company_number+'&company_type='+company_type+'&'+payment_details,
			 onCreate : function(wait)	{
			 	$("vbr_search_results").innerHTML = "<h2>Processing Order</h2><p>Please wait. Do not click refresh or back button!</p><br/><img src=\"images/progress_bar.gif\" />";
				
			 },
			 onFailure : function(resp) { 
			   alert("Oops, there's been an error."); 
			 },
			 onSuccess: function(show_search){
			 	$("vbr_search").show();
			 } 
			});
			$("vbr_title").innerHTML = "CheckRate Credit Report Payment";
		}
		
		$("protx_warning").hide();
	}

	
	function lookupClientPostCode(container)	
	{
		var postcode = $('postcode').value;
		$('postcode').value = postcode.toUpperCase();
		var url = 'ajax.php';
		new Ajax.Updater(container, url, { 
		 method : 'post',
		 parameters: 'command=lookup_client_postcode&postcode='+postcode,
		 evalScripts: true,
		 onCreate : function(wait)	{

		 },
		 onFailure : function(resp) { 
		   alert("Oops, there's been an error."); 
		 }
		});
	}
	
	
	function useAddressFromPostCode()	
	{
		var id = $('select_address').value;
		var url = 'ajax.php';
		new Ajax.Request(url, { 
		 method : 'post',
		 parameters: 'command=use_address_from_postcode&id='+id,
		 evalScripts: true,
		 onCreate : function(wait)	{

		 },
		 onFailure : function(resp) { 
		   alert("Oops, there's been an error."); 
		 },
		 onSuccess : function(transport)	{
			 var aAddress = transport.responseText.split("\n");
			 $("address_1").value = aAddress[0];
			 $("address_2").value = aAddress[1];
			 $("address_3").value = aAddress[3];								
			 $("county").value = aAddress[4];	
			 $("postcode").value = aAddress[5];
			 $("country").value = "UK";
		 }
		});
	}
	
	
	function validation(fields)
	{
		arr_fields_length = fields.length;
		
		//some fields have names that wont mean anything to people so change these names to something 
		//more meaningful for validation notice purposes
		var miss_spelt_fields = [];
		miss_spelt_fields["cname"] = "company name";
		miss_spelt_fields["company_regno"] = "registration no.";
		miss_spelt_fields["fname"] = "first name";
		miss_spelt_fields["lname"] = "last name";
		miss_spelt_fields["product_price"] = "price of the product";
		miss_spelt_fields["total_cost"] = "add to order section";
		miss_spelt_fields["CV2"] = "card security number";
		miss_spelt_fields["address_1"] = "for the address";
		
		for(i=0; i < arr_fields_length; i++)
		{
		
			//seperate validation for email to check for formatting
			/*if(fields[i]=="email")
			{
				ec = echeck($(fields[i]).value);
				if(ec==false)
				{
					return false;
				}
			}	*/
		
			//checks for blank fields apart from email, also readjusts error message if strange field name was used
			if($(fields[i]).value=="")
			{
				the_key=fields[i];
				if(fields[i]=="cname" || fields[i]=="company_regno" || fields[i]=="fname" || fields[i]=="lname" || fields[i]=="product_price" || fields[i]=="total_cost" || fields[i]=="CV2" || fields[i]=="address_1")
				{
					disp_name = miss_spelt_fields[the_key];
				}
				else
				{
					disp_name = fields[i];
				}
				
				alert("Please enter a value for the " + disp_name);
				return false; // break

			}
		   		
		}

	}
	
	
	function echeck(str) 
	{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   alert("Invalid E-mail address")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   alert("Invalid E-mail address")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    alert("Invalid E-mail address")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    alert("Invalid E-mail address")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    alert("Invalid E-mail address")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    alert("Invalid E-mail address")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    alert("Invalid E-mail address")
		    return false
		 }

 		 return true					
	}
	