///
//Payment vars
var return_pay_element = "";
var payment_form;
///

var ajax_processing = false;

function delete_item(basket_id){


var conf = window.confirm('Are you sure you want to remove this item?');

if(conf){

document.getElementById("delete_form_" + basket_id).submit();

}
else
{
return false;
}


}
//////////////////////////////////
//////////////////////////////////
function alter_price(mod_price,is_checked){

//var price = base_price;

for(i=1;i<=15;i++){

if(document.getElementById("price"+i)!=null){

price = document.getElementById("price"+i).innerHTML;

if(is_checked){

new_price = roundTo(Number(price) + Number(mod_price),2);
}
else
{
new_price = roundTo(Number(price) - Number(mod_price),2);
}

document.getElementById("price"+i).innerHTML = new_price;
//i++;
}
else
{
break;
}

}
//base_price = new_price;

}
//////////////////////////////////
//////////////////////////////////
function roundTo(num,pow){
  num *= Math.pow(10,pow);
  num = (Math.round(num)/Math.pow(10,pow))+ "" ;
  if(num.indexOf(".") == -1)
    num += "." ;
  while(num.length - num.indexOf(".") - 1 < pow)
    num += "0" ;
  return num ;
}
//////////////////////////////////
//////////////////////////////////
function delete_extra_item(extra_id){


var conf = window.confirm('Are you sure you want to remove this extra?');

if(conf){

document.getElementById("delete_extra_form_" + extra_id).submit();

}
else
{
return false;
}


}

//////////////////////////////////
//////////////////////////////////
function formatprice(inputobject)
{
var price = inputobject.value;
	if (inputobject.value!='')
	{
		if (isNaN(price))
		{
			alert('Value not a number');
			inputobject.value=='';
		}
		else
		{
			inputobject.value=roundTo(price,2);
		}
	}
}
//////////////////////////////////
//////////////////////////////////
function updateinvoicedisplay()
{
	var bDelivery = document.customer_form.different_invoice_address.checked;
	if (bDelivery)
	{
		document.customer_form.deliverycountry.disabled = false;
		document.customer_form.deliverypostcode.disabled = false;
		document.customer_form.deliveryadd1.disabled = false;
		document.customer_form.deliveryadd2.disabled = false;
		document.customer_form.deliveryadd3.disabled = false;
		document.customer_form.deliveryadd4.disabled = false;
		document.customer_form.deliverycounty.disabled = false;
		document.customer_form.finddeliverypostcode.disabled = false;
	}
	else
	{
		document.customer_form.deliverycountry.disabled = true;
		document.customer_form.deliverypostcode.disabled = true;
		document.customer_form.deliveryadd1.disabled = true;
		document.customer_form.deliveryadd2.disabled = true;
		document.customer_form.deliveryadd3.disabled = true;
		document.customer_form.deliveryadd4.disabled = true;
		document.customer_form.deliverycounty.disabled = true;
		document.customer_form.finddeliverypostcode.disabled = true;
	}
	updateform();
}
//////////////////////////////////
//////////////////////////////////
function check_customer_form(formobject)

{
var alerttext = '';

	if (formobject.customer_firstname.value=='')
	{
    alerttext = alerttext + '\nThe first name field is required';
	}
	if (formobject.customer_surname.value=='')
	{
    alerttext = alerttext + '\nThe last name field is required';
	}
	if (formobject.customer_tel.value==''&&formobject.customer_mobile.value=='')
	{
    alerttext = alerttext + '\nAt least one telephone number is required';
	}
	if (formobject.customer_address_1.value=='')
	{
    alerttext = alerttext + '\nThe address 1 field is required';
	}
	if (formobject.customer_address_2.value=='')
	{
    alerttext = alerttext + '\nThe address 2 field is required';
	}

	if (formobject.customer_postcode.value=='')
	{
    alerttext = alerttext + '\nThe postcode field is required';
	}
	
	if (formobject.customer_email.value=='')
	{
    alerttext = alerttext + '\nThe e-mail address field is required';
	}

	if (formobject.customer_password.value=='')
	{
    alerttext = alerttext + '\nThe password field is required';
	}
	if (formobject.customer_password.value!=formobject.conf_password.value){
    alerttext = alerttext + '\nYour password and password confirmation do not match';
	}

	if (alerttext=='')
	{
		return true;
	}
	else
	{
		alert('The following errors were found :\n' + alerttext);
		return false;
	}
	var returnvalue = false;
}
//////////////////////////////////
//////////////////////////////////
function check_login_form(formobject){

var alerttext = '';


	if (formobject.customer_email.value=='')
	{
    alerttext = alerttext + '\nPlease enter your e-mail address';
	}

	if (formobject.customer_password.value=='')
	{
    alerttext = alerttext + '\nPlease eter your password';
	}
	
	if (alerttext=='')
	{
		return true;
	}
	else
	{
		alert('The following errors were found :\n' + alerttext);
		return false;
	}
	var returnvalue = false;

	
}
//////////////////////////////////
//////////////////////////////////
function isblank(object)
{
	if (object.value == "")
	{
		alert(object.name + ": This field is empty");
		return (false);
	}
}
//////////////////////////////////
//////////////////////////////////
function getaddress()
	{ 


	if(document.customer_form.house_number.value==""){
	
	alert("Please enter your house name / number.");
	document.customer_form.house_number.focus();
	}
	else
	{

		var req = null; 
		var post_code = document.customer_form.customer_postcode.value;
    var url="/get_postcode_address.asp"
    url = url + "?post_code=" + post_code

		//document.ajax.dyn.value="Started...";
		//alert(url);
		
		if (window.XMLHttpRequest)
		{
 			req = new XMLHttpRequest();
		} 
		else if (window.ActiveXObject) 
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
   	}
		
		//alert(req);
		
		req.onreadystatechange = function()
		{ 
			//alert(req.readyState);
			//document.ajax.dyn.value="Wait server...";
			//alert("waiting for response");
			if(req.readyState == 4)
			{
				
				if(req.status == 200)
				{
					// Good state
					//document.ajax.dyn.value="Received:" + req.responseText;
					//alert("wait over");	
					//alert("sgsdf");
					var doc = req.responseXML;
					//var doc = req.responseXML;
					//alert(req.responseText);
					var element = doc.getElementsByTagName('AFDPostcodeEverywhere');
					if (element.length > 0)
					{
						var addressElement = doc.getElementsByTagName('Address')
  					if (addressElement.length > 0)
  					{
  						var postcodeElement = doc.getElementsByTagName('Postcode')
		  				//alert(postcodeElement.item(0).firstChild.data);		
							
							var strPostcode = postcodeElement.item(0).firstChild.data
							if ((strPostcode != "Error: Invalid Postcode") && (strPostcode != "Error: Postcode Not Found"))
							{
								//alert("postcode found");
								//street
								var strStreet = doc.getElementsByTagName('Street').item(0).firstChild.data
								//alert(strStreet);
								document.customer_form.customer_address_1.value = document.customer_form.house_number.value + ' ' + strStreet;
								
								//Town
								var strTown = doc.getElementsByTagName('Town').item(0).firstChild.data
								//alert(strTown);
								document.customer_form.customer_address_2.value = strTown;

  							//County
								var strCounty = doc.getElementsByTagName('County').item(0).firstChild.data;
								//alert(strCounty);
								document.customer_form.customer_address_3.value = strCounty;
								
							}
							else
							{
								alert("The Postcode you have entered is not valid, or is blank.")
							}
							
							
  					}
					}
					
				}	
			} 
		}; 
		req.open("GET", url, true); 
		req.send(null); 
		}
	} 

//////////////////////////////////
//////////////////////////////////
//////////////////////////////////
//////////////////////////////////
function loadXML(xmlFile)
{
  xmlDoc.async="false";
  xmlDoc.onreadystatechange=verify;
  xmlDoc.load(xmlFile);
  xmlObj=xmlDoc.documentElement;
}
//////////////////////////////////
//////////////////////////////////
function verify()
{
  // 0 Object is not initialized
  // 1 Loading object is loading data
  // 2 Loaded object has loaded data
  // 3 Data from object can be worked with
  // 4 Object completely initialized
  if (xmlDoc.readyState != 4)
  {
      return false;
  }
}
//////////////////////////////////
//////////////////////////////////
function updateform()
{
	switch (document.customer_form.country.options[document.customer_form.country.selectedIndex].value)
  {
  case '197':
    document.customer_form.findpostcode.disabled = false;
    document.customer_form.county.disabled = false;
		break 
  default:
    document.customer_form.findpostcode.disabled = true;
    document.customer_form.county.disabled = true;
		break
  }
	if (document.customer_form.different_invoice_address.checked)
	{
		switch (document.customer_form.deliverycountry.options[document.customer_form.deliverycountry.selectedIndex].value)
    {
    case '197':
      document.customer_form.finddeliverypostcode.disabled = false;
      document.customer_form.deliverycounty.disabled = false;
  		break 
    default:
      document.customer_form.finddeliverypostcode.disabled = true;
      document.customer_form.deliverycounty.disabled = true;
  		break
    }
	}

}

//////////////////////////////////
//////////////////////////////////
function search_box(id){

//alert(id.value.length);

if(id.value==""||id.value.length<2){

	document.getElementById("search_box").style.visibility = "hidden";
	//Effect.Shrink('search_box');
}
else
{
	pos_array = findPos('search_word')
	
	
	var ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	var browser=navigator.appName;
	if(browser=="Microsoft Internet Explorer"){
	var b_version=navigator.appVersion;
	var version=parseFloat(b_version);
	
	
	
	var root= document.compatMode=='BackCompat'? document.body : document.documentElement;
	var isVerticalScrollbar= root.scrollHeight>root.clientHeight;

	if(isVerticalScrollbar){
	
	document.getElementById("search_box").style.left = (pos_array[0]-5) + "px";
	
	}
	else
	{
	document.getElementById("search_box").style.left = (pos_array[0]-5) + "px";
	}
	
	//var re = new RegExp(document.demoMatch.regex.value);
	
	if(b_version.match("MSIE 7.0;")){
	document.getElementById("search_box").style.margin = "0px 0px 0px 58px";
	}
	
	}
	

	Pgurl = "/inc/search_box.asp?search_word=" + escape(id.value);
	ajaxPage(Pgurl,"search_box");
	document.getElementById("search_box").style.visibility = "visible";
	//Effect.Grow('search_box');


}

}
//////////////////////////////////
//////////////////////////////////
function findPos(id)
  {
  var obj = document.getElementById(id)
  var pos_array = new Array(1);
  
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
		
	pos_array[0] = curleft;	

   /*
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    
	//alert(curtop);
	*/
	var iReturnValue = 0;
	while( obj != null ) {
	iReturnValue += obj.offsetTop;
	obj = obj.offsetParent;
	}
	pos_array[1] = iReturnValue;
	
	return pos_array;

}

//////////////////////////////////
//////////////////////////////////
function set_search(sword){
document.getElementById("search_word").value=sword;
document.getElementById("search_form").submit();


}
//////////////////////////////////
//////////////////////////////////
function get_order_idx(form,return_element,shipping_type_idx){

	var Ajax_time = new Date()
	Pgurl = "/inc/complete_order_process.asp?shipping_type_idx=" + shipping_type_idx + "&ajax_time=" + Ajax_time;
	ajaxOrder(Pgurl,return_element);
	
	payment_form = document.getElementById(form);
	return_pay_element = return_element;

	setTimeout('submit_pay_form()', 300);

	//return false;

}
//////////////////////////////////
//////////////////////////////////
function submit_pay_form(){

	if(document.getElementById(return_pay_element).value!="")
	{
		payment_form.submit();
	}
	else
	{
	setTimeout('submit_pay_form()', 300);
	}
	


}
//////////////////////////////////
//////////////////////////////////
function ajaxOrder(Pgurl,ID_Name)
  {  
  
  var xmlHttp;
  try
    {    // Firefox, Opera 8.0+, Safari    
	xmlHttp=new XMLHttpRequest();   
	 }
  catch (e)
    {    // Internet Explorer
	  try
      {      
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	   }
    catch (e)
      {
	       try
        {
		       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			           }
      catch (e)
        {       
		 alert("Your browser does not support AJAX!");
		  return false; 
		   }
		 }
		}
    xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
		ajax_processing = false;

        //document.getElementById(ID_Name).innerHTML=xmlHttp.responseText;
        document.getElementById(ID_Name).value=xmlHttp.responseText;

        }
      }
    xmlHttp.open("GET",Pgurl,true);
    xmlHttp.send(null);  
	}
//////////////////////////////////
//////////////////////////////////
function send_advice(){

var email_address = document.getElementById("advice_email").value;
var product_idx = document.getElementById("product_idx").value;

if(checkEmail(email_address)){
Pgurl = "/inc/send_advice_email.asp?product_idx=" + product_idx + "&email_address=" + email_address;
SendEmail(Pgurl);
}
else
{

	alert("Please enter a valid e-mail address.");

}

}
//////////////////////////////////
//////////////////////////////////
function SendEmail(Pgurl)
  {  
  
  var xmlHttp;
  try
    {    // Firefox, Opera 8.0+, Safari    
	xmlHttp=new XMLHttpRequest();   
	 }
  catch (e)
    {    // Internet Explorer
	  try
      {      
	  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	   }
    catch (e)
      {
	       try
        {
		       xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			           }
      catch (e)
        {       
		 alert("Your browser does not support AJAX!");
		  return false; 
		   }
		 }
		}
    xmlHttp.onreadystatechange=function()
      {
      if(xmlHttp.readyState==4)
        {
		ajax_processing = false;

        //document.getElementById(ID_Name).innerHTML=xmlHttp.responseText;
        //document.getElementById(ID_Name).value=xmlHttp.responseText;
		alert("Buying advice has been sent to your e-mail address.");

        }
      }
    xmlHttp.open("GET",Pgurl,true);
    xmlHttp.send(null);  
	}

//////////////////////////////////
//////////////////////////////////
function checkEmail(email_to_check)
{
	var x = email_to_check;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)){
	
		return true;
	
	}
	else
	{
	
		return false;
	
	}
}

//////////////////////////////////
//////////////////////////////////
function set_product_page(page_number,page_type,modifer){

switch(page_type)
{
case 1: // search page

	Pgurl = "/inc/show_products_search.asp?page_number=" + page_number + "&search_word=" + modifer;

  break;
case 2:

	Pgurl = "/inc/show_products_category.asp?page_number=" + page_number + "&category_idx=" + modifer;


  break;
}
//Effect.DropOut('product_container');
ajax_processing = true;
ajaxPage(Pgurl,"product_container");
setTimeout("products_appear();",1000);
}
//////////////////////////////////
//////////////////////////////////
function products_appear(){

//if(!ajax_processing){

	//$('product_container').appear({ duration: 1.0,queue: 'end' });

//}
//else
//{
	//$('product_container').fade({ duration: 1.0,queue: 'front' });
	//setTimeout("products_appear();",1000);

//}


}
//////////////////////////////////
//////////////////////////////////
function toggle_delivery_address(){

	if(document.getElementById("new_delivery_address").style.display=="none"){
	
		document.getElementById("new_delivery_address").style.display="block";
	
	}
	else
	{
	
			document.getElementById("new_delivery_address").style.display="none";

	
	}

}
//////////////////////////////////
//////////////////////////////////
//////////////////////////////////
//////////////////////////////////
//////////////////////////////////
//////////////////////////////////

