	
	function navigate(page)	{
		window.location = page;
	}


	function changeColour(template,product)	
	{
		var tcolour = $('#tcolour').val();
		var params  = template+'/1/'+ product +'/'+tcolour;
		//alert(params);
		ajax_updater("category_container", "next_categories", params);
	}
	
	function openDetailsWindow(topic)	{
		if (typeof(details) != "undefined") details.close();
	  details = window.open(root+"features_detail/features/"+topic, "Detais","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=yes,width=350,height=250")
	}
	
	function checkYourDetailsForm()	
	{
		var f = document.of;
	
		email 	   = f.email_address.value;
		email_conf = f.confirm_email_address.value;
		pass 	   = f.password.value;
		pass_conf  = f.confirm_password.value;
		site_name  = f.company_or_site_name.value;
		title 	   = f.title.value;
		first_name = f.first_name.value;
		last_name  = f.last_name.value;
		address_1  = f.address_1.value;
		address_2  = f.address_2.value;
		pcode 	   = f.postcode.value;
		tel 	   = f.telephone.value;
		tandc 	   = f.tandc.checked;
		
		
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

		if (!(filter.test(email))) { 
       alert("Please enter a valid email address!");
		} else {
			if (email != email_conf)	{
				alert("Please ensure that email addresses match!");
			} else {
				if ((pass.length < 8) || (pass != pass_conf))	{
					alert("Please ensure password is at least 8 characters long and passwords match!");
				} else {
					if (!site_name)	{
						alert("Please enter either a company or site name!");
					} else {
						if (!title || !first_name || !last_name)	{
							alert("Please enter a full contact name!");
						} else {
							if (!address_1)	{
								alert("Please enter an address!");
							// else {
							//	if (!address_2)	{
							//		alert("Please enter town / city!");
								} 
								else {
									if (pcode.length < 5)	{
										alert("Please enter your postcode!");
									} else {
										if (tel.length < 5)	{
											alert("Please enter your telephone number!");
										} else {
											if (!tandc)	{
												alert("Please check that you have agreed to our terms and conditions!");
											} else {
												document.getElementById("of").submit();		
											}
										}
									}
								}
							//}
						}
					}
				}
			}
		}
	}
	
	function checkPaymentDetailsForm()	{
		var f = document.of;
		
		//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;
			}
		} 
		
		if (!cardholder)	{
			alert("Please enter cardholder name!");
		} else {
			if (cardnumber.length < 12)	{
				alert("Please enter card number!");
			} else {
				if (!valid)	{
					alert("Card expiry date invalid!");
				} else {
					if (cv2.length < 2)	{
						alert("Please enter card security number!\nThis is usually the last three digits on the signature strip on back of the card.");
					} else {
						if (!billing1 && !billing2)	{
							alert("Please enter billing address!");
						} else {
							if (billing_postcode.length < 5)	{
								alert("Please enter a billing postcode!");
							} else {
								document.getElementById("processing").style.display = "inline";
								document.of.submit();
							}
						}
					}
				}
			}
		}
	}
	
	function toggleAddress() { 
		//e.style.visibility = show ? 'visible' : 'hidden' 
		var f = document.of;
		if (f.use_prev_address.checked)	{
			f.BillingAddress1.value = f.address_1.value;
			if(f.address_2.value)
			{
				f.BillingAddress2.value = f.address_2.value;
			}
			else
			{
				f.BillingAddress2.value = f.address_3.value;
			}
			f.BillingPostCode.value = f.postcode.value;						
			f.BillingCountry.value  = f.country.value;				
		} else {
			f.BillingAddress1.value = "";
			f.BillingAddress2.value = "";
			f.BillingPostCode.value = "";
			f.BillingCountry.value  = "United Kingdom";		
		}
	}
	
	
	function process_payment() 
	{
		var data = $("form").serialize();
		$("#payment_details").hide();
		document.getElementById("payment_spinner").innerHTML = "<h2>Processing Payment..</h2><img src='"+ base_url+"system/assets/default/images/payment_loader.gif' alt='search_anim' />";
		
		$.ajax({
			url: secure_front_root+'website_builder/buy/4',
			type: 'POST',
			dataType: 'json',
			data: data,
			timeout: 60000,
			error: function(){
			alert('Error sending document');
		},
			success: function(data){
				// do something with data
				$("#payment_spinner").hide();
				
				if(data.status!='none')
				{
					$("#payment_details").show();					
					alert(data.status_detail);
					
				}
				else
				{
					document.getElementById("user_input").innerHTML = data.page_data;
					$("#progress").append(data.login_details);
					
					$("#q4").removeClass("quarter");
					$("#q4").addClass("quarter filled");
					$("#step_back").hide(); 
				}
		
			}
		});
		
	}
	
	
	function openInvoicePrint(post)	{
		alert(post[0]);
	}
	
	function checkResellerForm()	{
		var f = document.reseller_form;
		if (!f.contact_name.value)	{
			alert("Please enter contact name!");
		} else {
			if (f.telephone.value.length < 7 && (!checkemail(f.email.value)))	{
				alert("Please enter either a valid telephone number or valid email address!");
			} else {
				if (f.enquiry.value.length < 8)	{
					alert("Please enter details of enquiry!");
				} else {
					f.submit();
				}
			}
		}
	}
	
	function checkAffiliateForm()	{
		var f = document.affiliate_form;
		if (!f.contact_name.value)	{
			alert("Please enter contact name!");
		} else {
			if (f.telephone.value.length < 7 && (!checkemail(f.email.value)))	{
				alert("Please enter either a valid telephone number or valid email address!");
			} else {
				if (f.enquiry.value.length < 8)	{
					alert("Please enter details of enquiry!");
				} else {
					document.getElementById("affiliate_form").submit();
				}
			}
		}
	}	
	
	function checkDomainVal(dn)	{
		var filter  = /(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test(dn)) {
			return 1;
		} else {
			return 0;
		}
	}
	
	function checkFeaturedSiteForm()	{
		var f = document.featured_site_form;
		if (!f.site_name.value)	{
			alert("Please enter site name!");
		} else {
			if (!checkDomainVal(f.url.value))	{
				alert("Please enter a valid domain name!");
			} else {
				if (!checkemail(f.email.value))	{
					alert("Please enter a valid email address!");
				} else {
					if (f.about_site.value.length < 8)	{
						alert("Please enter some information about your site!");
					} else {
						document.getElementById("featured_site_form").submit();
					}
				}
			}
		}	
	}
	
function checkemail(str){
  var filter=/^.+@.+\..{2,3}$/
  return (filter.test(str))
}	

function checkBespokeEnquiryForm(step)	{
	var f = document.bespoke_enquiry_form;
	switch(step)	{
		case 2:
		case "2":
			if (!checkDomainVal(f.proposed_domain_name.value))	{
				alert("Please enter a valid domain name!");
			} else {
				if (f.proposed_website_details.value.length < 10)	{
					alert("Please enter details about proposed website!");
				} else {
					f.submit();
				}
			}
		break;
		case 3:
		case "3":
			if (f.contact_name.value.length < 2)	{
				alert("Please enter a contact name!");
			} else {
				if (!checkemail(f.email.value) && f.telephone.value.length < 7 && f.mobile.value.length < 7)	{
					alert("Please enter either telephone, mobile or email address!");
				} else {
					f.submit();
				}
			}
		break;
	}
}


function submit_design_enquiry()
{
	var f = document.of;

	email 	   = f.email_address.value;
	email_conf = f.confirm_email_address.value;
	site_name  = f.company_or_site_name.value;
	title 	   = f.title.value;
	first_name = f.first_name.value;
	last_name  = f.last_name.value;
	address_1  = f.address_1.value;
	address_2  = f.address_2.value;
	pcode 	   = f.postcode.value;
	tel 	   = f.telephone.value;
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

	if (!(filter.test(email))) { 
		alert("Please enter a valid email address!");
	} else {
		if (email != email_conf)	{
			alert("Please ensure that email addresses match!");
		} else {
				if (!site_name)	{
					alert("Please enter either a company or site name!");
				} else {
					if (!title || !first_name || !last_name)	{
						alert("Please enter a full contact name!");
					} else {
						if (!address_1)	{
							alert("Please enter an address!");
						} else {
							if (!address_2)	{
								alert("Please enter town / city!");
							} else {
								if (pcode.length < 5)	{
									alert("Please enter your postcode!");
								} else {
										if (tel.length < 5)	{
											alert("Please enter your telephone number!");
										} else {
											
											var params = $("#of").serialize();
											
											display_conf = function(result) 
											{
												alert('Your enquiry has been sent.');
												$("#t3").removeClass("third");
												$('#t3').addClass("third filled");
												$('#user_input').html(result);
												$('#step_back').hide();
											}
											ajax_post_request('process_design_enquiry', params, display_conf)
											
											
										}
									}
								}
							}
						}
					}

			}
		}
}



function checkContact()	{
	nature_of_enquiry = document.getElementById("nature_of_enquiry").value;
	if (nature_of_enquiry == "support_enquiry")	{
		document.getElementById("rest_of_form").style.display = "none";
		document.getElementById("support_redirect").style.display = "block";
	} else {
		document.getElementById("support_redirect").style.display = "none";
		document.getElementById("rest_of_form").style.display = "block";
	}
}