// JavaScript Document

function initalise()
{
	MM_preloadImages('/images/nav/factsheet-down.gif','/images/nav/help-down.gif','/images/nav/contact-down.gif');	
}

function restoreImage() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }
// ----------------------------------------------
// Ajax Related Products
// ----------------------------------------------

function getRelatedProducts(product_id)
{
	// Open Http Object
	request = getHttpObject();
	request.open("GET", '/includes/php/ajax/related-products.php?id=' + product_id, true);
	
	// On ready state change lets make a fuction
	request.onreadystatechange = function() 
	{
   		// Check if we are ready
		if(request.readyState != 4)
		{
			// Not ready
			return; 
		}
		else
		{
			// Ready
			// Get div to insert html
			var div = document.getElementById("related-"+product_id);
			
			if(div.innerHTML == "")
			{
				// Load in from request
				div.innerHTML = request.responseText;
				
				// Change style of link to show down arrow
				$link = document.getElementById("related-product-link-"+product_id);
				$link.className = "related-select";
				
				// Change style of div to show
				div.className = "related-links";
			}
			else
			{
				// Clear
				div.innerHTML = "";
				
				// Change style of link back to normal
				$link = document.getElementById("related-product-link-"+product_id);
				$link.className = "related-noselect";
				
				// Change style of div to hide
				div.className = "related-links-hide";
			}
		}
  	};
	request.send(null);
}

// ----------------------------------------------
// Ajax Product Factsheets
// ----------------------------------------------

function getProductFactsheets(product_id)
{
	// Open Http Object
	request = getHttpObject();
	request.open("GET", '/includes/php/ajax/product-factsheets.php?id=' + product_id, true);
	
	// On ready state change lets make a fuction
	request.onreadystatechange = function() 
	{
   		// Check if we are ready
		if(request.readyState != 4)
		{
			// Not ready
			return; 
		}
		else
		{
			// Ready
			// Get div to insert html
			var div = document.getElementById("factsheet-"+product_id);
			
			if(div.innerHTML == "")
			{
				// Load in from request
				div.innerHTML = request.responseText;
				
				// Change style of link to show down arrow
				$link = document.getElementById("product-factsheet-link-"+product_id);
				$link.className = "related-select";
				
				// Change style of div to show
				div.className = "factsheet-links";
			}
			else
			{
				// Clear
				div.innerHTML = "";
				
				// Change style of link back to normal
				$link = document.getElementById("product-factsheet-link-"+product_id);
				$link.className = "related-noselect";
				
				// Change style of div to show
				div.className = "factsheet-links-hide";
			}
		}
  	};
	request.send(null);
}




function showFactsheets(node)
{
	var node;
	var div;
	var html;
	
	// Get Node
	div = document.getElementById(node);
	
	if(div.innerHTML == "")
	{
		html  = "<p><strong>Product Factsheets</strong></p>";
		html += "<p>Product Factsheet Links go in here</p>";
	}
	else
	{
		html = "";
	}
	
	div.innerHTML = html;
}

function doAddress() 
{	
	if(document.myform.billingSame.checked) 
	{
		// Only do when same address is checked
		document.myform.billingAddress1.value = document.myform.deliveryAddress1.value
		document.myform.billingAddress2.value = document.myform.deliveryAddress2.value
		document.myform.billingAddress3.value = document.myform.deliveryAddress3.value
		document.myform.billingTown.value = document.myform.deliveryTown.value
		document.myform.billingCounty.value = document.myform.deliveryCounty.value
		document.myform.billingPostcode.value = document.myform.deliveryPostcode.value
	}
}

function doPostcode()
{
	// Capitalise postcode
	document.myform.billingPostcode.value = document.myform.billingPostcode.value.toUpperCase();
	document.myform.deliveryPostcode.value = document.myform.deliveryPostcode.value.toUpperCase();
}


// Browser spedific XmlRequest Object
function getHttpObject() 
{
	if(window.ActiveXObject) 
	{
		var waystation = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	else if (window.XMLHttpRequest) 
	{
		var waystation = new XMLHttpRequest();
	} 
	else 
	{
		var waystation = false;
	}
	
	return waystation;
}



/*

//Our XmlHttpRequest object to get the auto suggest
var searchReq = getHttpObject();

function searchSuggest()
{
	
	// Change the class name of suggest div
	if(document.getElementById('txtSearch').value == '')
	{
		// Nothing in search so make invisible
		document.getElementById('search-suggest').className = 'search-suggest-invisible';
	}
	else
	{
		// Make visible
		document.getElementById('search-suggest').className = 'search-suggest-visible';
	}
	
	if(searchReq.readyState== 4 || searchReq.readyState == 0)
	{
		var str = escape(document.getElementById('txtSearch').value);
		searchReq.open("GET", '/search/suggest.php?search=' + str, true);
		searchReq.onreadystatechange = handleSearchSuggest;
		searchReq.send(null);
	}
	
}
	
// Called when the AJAX response is returned.
function handleSearchSuggest() {
	if (searchReq.readyState == 4) {
		var ss = document.getElementById('search-suggest')
		ss.innerHTML = '';
		var str = searchReq.responseText.split("\n");
		for(i=0; i < str.length - 1; i++) {
			// Build our element string.  This is cleaner using the DOM, but
			// IE doesn't support dynamically added attributes.
			var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
			suggest += 'onmouseout="javascript:suggestOut(this);" ';
			suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
			suggest += 'class="suggest_link">' + str[i] + '</div>';
			ss.innerHTML += suggest;
		}
	}
}

// Mouse over function
function suggestOver(div_value) {
	div_value.className = 'suggest_link_over';
}
// Mouse out function
function suggestOut(div_value) {
	div_value.className = 'suggest_link';
}
// Click function
function setSearch(value) {
	document.getElementById('txtSearch').value = value;
	document.getElementById('search-suggest').innerHTML = '';
	document.getElementById('search-suggest').className = 'search-suggest-invisible';
}
*/
