server_link = new XHConn();
//connect(sURL, sMethod, sVars, fnDone)

server_link.connect("/server.php", "POST", "action=get_products",fillSelect);
var descriptions = new Array();
var amounts = new Array();

function sameAct()
{
		if(document.getElementById('same_adds').checked)
		{
			document.order_form.ship_tel.value = document.order_form.bill_tel.value;
			document.order_form.ship_addr_1.value = document.order_form.bill_addr_1.value;
			document.order_form.ship_addr_2.value = document.order_form.bill_addr_2.value;
			document.order_form.ship_city.value = document.order_form.bill_city.value;
			document.order_form.ship_state.value = document.order_form.bill_state.value;
			document.order_form.ship_country.value = document.order_form.bill_country.value;
			document.order_form.ship_post_code.value = document.order_form.bill_post_code.value;
		}
		else
		{
			document.order_form.ship_tel.value = "";
			document.order_form.ship_addr_1.value = "";
			document.order_form.ship_addr_2.value = "";
			document.order_form.ship_city.value = "";
			document.order_form.ship_state.value = "";
			document.order_form.ship_country.value = "";
			document.order_form.ship_post_code.value = "";
		}		
}

function refreshDescription()
{
	document.getElementById('product_description').innerHTML = descriptions[document.order_form.product.selectedIndex];	
}

function fillSelect(XML)
{
	var products_arr = XML.responseText.split("<>");

	var the_select = document.order_form.product;

	for(i in products_arr)
	{
		var product = products_arr[i].split("|");
		var y=document.createElement('option');
		y.text = product[1] + ' @ £' + product[3];
		y.value = product[0];
		descriptions[descriptions.length] = product[2];
		amounts[amounts.length] =  product[3];
	
		try
		{
			the_select.add(y,null); // standards compliant
		}
		catch(ex)
		{
			the_select.add(y); // IE only
		}		
		
	}
	the_select.selectedIndex = 0;
	document.getElementById('product_description').innerHTML = descriptions[0];
}

function sendFormData()
{
	document.order_form.accept.value = "processing...";
	document.order_form.accept.disabled = true;

	document.order_form.bill_email.value = document.order_form.o_email1.value;
	document.order_form.customer.value = document.order_form.bill_name.value;
	document.order_form.amount.value = amounts[document.order_form.product.selectedIndex];

	var data_str = "";
	
	data_str += document.order_form.bill_name.value;
	data_str += "<|>";
	data_str += document.order_form.o_email1.value;
	data_str += "<|>";
	data_str += document.order_form.bill_company.value;
	data_str += "<|>";
	data_str += document.order_form.bill_tel.value;
	data_str += "<|>";
	data_str += document.order_form.bill_addr_1.value;
	data_str += "<|>";
	data_str += document.order_form.bill_addr_2.value;
	data_str += "<|>";
	data_str += document.order_form.bill_city.value;
	data_str += "<|>";
	data_str += document.order_form.bill_state.value;
	data_str += "<|>";
	data_str += document.order_form.bill_country.value;
	data_str += "<|>";
	data_str += document.order_form.bill_post_code.value;
	data_str += "<|>";
	data_str += document.order_form.ship_tel.value;
	data_str += "<|>";
	data_str += document.order_form.ship_addr_1.value;
	data_str += "<|>";
	data_str += document.order_form.ship_addr_2.value;
	data_str += "<|>";
	data_str += document.order_form.ship_city.value;
	data_str += "<|>";
	data_str += document.order_form.ship_state.value;
	data_str += "<|>";
	data_str += document.order_form.ship_country.value;
	data_str += "<|>";
	data_str += document.order_form.ship_post_code.value;
	data_str += "<|>";
	data_str += document.order_form.product.options[document.order_form.product.selectedIndex].value;	

	server_link.connect("/server.php", "POST", "action=new_transaction&data="+data_str,continueToSecPay);
}

function continueToSecPay(XML)
{
	if(XML.responseText != "FALSE")
	{
		document.order_form.trans_id.value = XML.responseText;
		document.order_form.submit();
	}
}

function checkAll()
{
	var feedback_msg = "<b>There are errors in your form. Please ensure that you:</b><br />";
	var feedback_arr = new Array();

	feedback_arr = feedback_arr.concat(checkName());
	feedback_arr = feedback_arr.concat(checkEmail());
	feedback_arr = feedback_arr.concat(checkBilling());
	feedback_arr = feedback_arr.concat(checkShipping());

	for(x in feedback_arr)
	{
		if(feedback_arr[x]!="")
			feedback_msg += "&nbsp;&nbsp;" + feedback_arr[x] + "<br />";
	}
	
	if(feedback_arr.length>0)
	{
		document.getElementById('msg_box').innerHTML = "<div class=\"red_highlight blue_marker\">"+feedback_msg+"</div>";
		scroll(0,0);
	}
	else
	{
		document.getElementById('msg_box').innerHTML = "";
		sendFormData();
	}
}

function checkBilling()
{
	var myform = document.order_form;
	var rt_arr = new Array();
	if(myform.bill_addr_1.value=="")
		rt_arr.push("enter a street for billing");
	if(myform.bill_city.value=="")
		rt_arr.push("enter a city for billing");
	if(myform.bill_post_code.value=="")
		rt_arr.push("enter a post/zip code for billing");
	if(myform.bill_country.value=="")
		rt_arr.push("enter a country for billing");

	return rt_arr;
}

function checkShipping()
{
	var myform = document.order_form;
	var rt_arr = new Array();
	if(myform.ship_addr_1.value=="")
		rt_arr.push("enter a street for shipping");
	if(myform.ship_city.value=="")
		rt_arr.push("enter a city for shipping");
	if(myform.ship_post_code.value=="")
		rt_arr.push("enter a post/zip code for shipping");
	if(myform.ship_country.value=="")
		rt_arr.push("enter a country for shipping");

	return rt_arr;
}

function checkName()
{
	var rt_arr = new Array();
	if(document.order_form.bill_name.value=="")
		rt_arr.push("enter a name");

	return rt_arr;
}
	
function checkEmail() {
		var str = document.order_form.o_email1.value;
		var str2 = document.order_form.o_email2.value
		var rt_arr = new Array();
		var error = false;

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		
		if(str=="" || str2=="" || str!=str2)
			error=true;
		
		if (str.indexOf(at)==-1)
		  error=true;

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
		  error=true;

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
		  error=true;

		 if (str.indexOf(at,(lat+1))!=-1)
		  error=true;

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
		  error=true;

		 if (str.indexOf(dot,(lat+2))==-1)
		  error=true;
		
		 if (str.indexOf(" ")!=-1)
		  error=true;
		 
		 if(error)
		 	rt_arr.push("ensure you enter a valid email twice");
			
		 return rt_arr;
	}

