function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(url,action) {
    http.open('get', url+'?str='+action);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function ajaxFunction(url,action) {
    http.open('get', url+'?'+action);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function showaddresses(obj)
{

	var pcode = document.contactDetails.pcode.value;
		
	var url = "/getAddress.php";
	var data = "postcode=" + pcode;
	http.open("POST", url, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    http.send(data);
	http.onreadystatechange = handleHttpResponse;

}

function copyaddress(obj)
{

	var select_address = document.contactDetails.select_address.value;
	
	details = select_address.split("**");
	
	
	
	var company = details[0];
	var address1 = details[1];
	var address2 = details[2];
	var address3 = details[3];
	var town = details[4];
	var county = details[5];
	var postcode = details[6];
	
	
	if(!company) { company = ''; }
	if(!address1) { address1 = ''; }
	if(!address2) { address2 = ''; }
	if(!address3) { address3 = ''; }
	if(!town) { town = ''; }
	if(!county) { county = ''; }
	if(!postcode) { postcode = ''; }	

	document.contactDetails.company.value = company;
	document.contactDetails.address1.value = address1;
	document.contactDetails.address2.value = address2;
	document.contactDetails.address3.value = address3;
	document.contactDetails.town.value = town;
	document.contactDetails.county.value = county;
	document.contactDetails.postcode.value = postcode;

}

function deliveryaddress(obj)
{

	var select_address = document.contactDetails.select_address.value;
	
	details = select_address.split("**");
	
	var company = details[0];
	var address1 = details[1];
	var address2 = details[2];
	var address3 = details[3];
	var town = details[4];
	var county = details[5];
	var postcode = details[6];
	
	if(!company) { company = ''; }
	if(!address1) { address1 = ''; }
	if(!address2) { address2 = ''; }
	if(!address3) { address3 = ''; }
	if(!town) { town = ''; }
	if(!county) { county = ''; }
	if(!postcode) { postcode = ''; }

	document.contactDetails.delivery_company.value = company;
	document.contactDetails.delivery_address1.value = address1;
	document.contactDetails.delivery_address2.value = address2;
	document.contactDetails.delivery_address3.value = address3;
	document.contactDetails.delivery_town.value = town;
	document.contactDetails.delivery_county.value = county;
	document.contactDetails.delivery_postcode.value = postcode;

}

function handleHttpResponse() {
  if (http.readyState == 4) {
    if (http.responseText.indexOf('invalid') == -1) {
      qresults = http.responseText.split("|");
	  var count = qresults.length;
	  	  
		  var selbox = document.contactDetails.select_address;
     	  selbox.options.length = 0;	   
		  selbox.options[selbox.options.length] = new Option(count + ' Addresses Found - Please Choose','');	
			for (var i=0;i<qresults.length;i++)
			{
		      details = qresults[i].split("^");
			  selbox.options[selbox.options.length] = new Option(details[0],details[1]);		      
			}

    }
  }
}

var checkflag = "false";



function check(field) {

if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  return "Uncheck All"; 
  }

else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
  return "Check All"; }}


function checkField(field){

if(document.getElementById(field).checked == true)
	document.getElementById(field).checked = false;
else
	document.getElementById(field).checked = true;
return 1;
}

function r(field){
	var tab = new Array();	
	for (i = 0; i < field.length; i++)
	{
		switch (field[i].type) 
		{
			case "radio": 
				if(field[i].checked)
					tab[i]=(field[i].name+"="+field[i].value);
			break

			case "checkbox": 
				if(field[i].checked)
					tab[i]=(field[i].name+"="+field[i].value);
				else
					tab[i]=(field[i].name+"="+0);
			break
			default: 
				if(field[i].name!="x" && field[i].name!="Submit" && field[i].name!="Reset" && field[i].name != "champs")
				{
					tab[i]=(field[i].name+"="+field[i].value);
				}

			break
		}
	}

	return tab;}

function checkData(field)

{
	if(document.search_list.champs.value.length == 0) 
	{
		var tabu = r(field);
		document.search_list.champs.value = tabu; 
	}
	return true;}
	
function xstooltip_findPosX(obj) 
{
  var curleft = 0;
  if (obj.offsetParent) 
  {
    while (obj.offsetParent) 
        {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }
    }
    else if (obj.x)
        curleft += obj.x;
    return curleft;
}

function xstooltip_findPosY(obj) 
{
    var curtop = 0;
    if (obj.offsetParent) 
    {
        while (obj.offsetParent) 
        {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }
    }
    else if (obj.y)
        curtop += obj.y;
    return curtop;
}

function xstooltip_show(tooltipId, parentId, posX, posY)
{
    it = document.getElementById(tooltipId);
    
    if ((it.style.top == '' || it.style.top == 0) 
        && (it.style.left == '' || it.style.left == 0))
    {
        // need to fixate default size (MSIE problem)
        it.style.width = it.offsetWidth + 'px';
        it.style.height = it.offsetHeight + 'px';
        
        img = document.getElementById(parentId); 
    
        // if tooltip is too wide, shift left to be within parent 
        if (posX + it.offsetWidth > img.offsetWidth) posX = img.offsetWidth - it.offsetWidth;
        if (posX < 0 ) posX = 0; 
        
        x = xstooltip_findPosX(img) + posX;
        y = xstooltip_findPosY(img) + posY;
        
        it.style.top = y + 'px';
        it.style.left = x + 'px';
    }
    
    it.style.visibility = 'visible'; 
}

function xstooltip_hide(id)
{
    it = document.getElementById(id); 
    it.style.visibility = 'hidden'; 
}	
