////////////////////////////////////////////////////////////////////////////////////
// PostCoder Web Version 1.01
// This file is Copyright (c) Allies Computing Ltd
// Last Modified 21/05/2002
//
// Please modify the user variables below.

var ACL_customerID			= 	2614853321;
var ACL_bg_color 				= 	"FFFFFF";
var ACL_font 				= 	"arial";
var ACL_font_size				=	"12";		// font size (pt).
var ACL_font_color				= 	"000000";
var ACL_absent_postcode_msg 		= 	"Please enter a Postcode to lookup an address.";
var ACL_no_match_msg 			= 	"Unable to find an address for '$', please try again.<br><br>Please enter a Postcode to lookup an address.";
var ACL_match_msg 			= 	"Please add a house name or number and change the address if necessary. Press OK to return the address to the main form.";
var ACL_address_format			=	"textarea"; // input or textarea.
var ACL_window_height			=	340;
var ACL_window_width			= 	400;
var ACLDebug 				= 	0;
var ACLwait 				= 	3;
var ACLErrorMsg 				= 	"A communications error has occurred, please input your address manually";
var ACLNoPopup				= 	0;
	
// Do NOT modify any code below this line.
//
////////////////////////////////////////////////////////////////////////////////////

var ACLcb = 0;
var ACLfirstWinName = window.name;
var ACLagt=navigator.userAgent.toLowerCase();
var ACLis_major  = parseInt(navigator.appVersion);
var ACLis_minor  = parseFloat(navigator.appVersion);
var ACLis_nav    = ((ACLagt.indexOf('mozilla')!=-1) && (ACLagt.indexOf('spoofer')==-1)&&(ACLagt.indexOf('compatible') == -1) && (ACLagt.indexOf('opera')==-1)&&(ACLagt.indexOf('webtv')==-1) && (ACLagt.indexOf('hotjava')==-1));
var ACLis_nav2   = (ACLis_nav && (ACLis_major == 2));
var ACLis_nav3   = (ACLis_nav && (ACLis_major == 3));
var ACLis_nav4   = (ACLis_nav && (ACLis_major == 4));
var ACLis_nav4up = (ACLis_nav && (ACLis_major >= 4));
var ACLis_navonly = (ACLis_nav && ((ACLagt.indexOf(";nav") != -1) || (ACLagt.indexOf("; nav") != -1)));
var ACLis_nav6   = (ACLis_nav && (ACLis_major == 5));
var ACLis_nav6up = (ACLis_nav && (ACLis_major >= 5));
var ACLis_gecko  = (ACLagt.indexOf('gecko') != -1);
var ACLis_ie     = ((ACLagt.indexOf("msie") != -1) && (ACLagt.indexOf("opera") == -1));
var ACLis_ie3    = (ACLis_ie && (ACLis_major < 4));
var ACLis_ie4    = (ACLis_ie && (ACLis_major == 4) && (ACLagt.indexOf("msie 5")==-1));
var ACLis_ie4up  = (ACLis_ie && (ACLis_major >= 4));
var ACLis_ie5    = (ACLis_ie && (ACLis_major == 4) && (ACLagt.indexOf("msie 5.0")!=-1));
var ACLis_ie5_5  = (ACLis_ie && (ACLis_major == 4) && (ACLagt.indexOf("msie 5.5")!=-1));
var ACLis_ie5up  = (ACLis_ie && !ACLis_ie3 && !ACLis_ie4);
var ACLis_ie5_5up =(ACLis_ie && !ACLis_ie3 && !ACLis_ie4 && !ACLis_ie5);
var ACLis_opera  = (ACLagt.indexOf("opera") != -1);
var ACLis_opera3 = (ACLagt.indexOf("opera 3") != -1 || ACLagt.indexOf("opera/3") != -1);
var ACLis_opera4 = (ACLagt.indexOf("opera 4") != -1 || ACLagt.indexOf("opera/4") != -1);
var ACLis_opera5 = (ACLagt.indexOf("opera 5") != -1 || ACLagt.indexOf("opera/5") != -1);
var ACLis_opera5up = (ACLis_opera && !ACLis_opera4 && !ACLis_opera3);
var ACLis_mac    = (ACLagt.indexOf("mac")!=-1);
var ACLprotocol = "http";if(location.href.indexOf("https://")==0){ACLprotocol = "https";};
var ACLKeyWinURL = ACLprotocol+"://www.allies-computing.co.uk/postcoderweb/cgi-bin/script.cgi?"+ACL_customerID
if (document.all||document.getElementById||document.layers)
{var ACLxleft = ((screen.width/2)-ACL_window_width);var ACLytop = ((screen.height/2)-ACL_window_height);var ACLwidth = screen.width*2;var ACLheight = screen.height*2;}
else{ACLxleft = 150;ACLytop = 100;ACLwidth = 2000;ACLheight = 2000;}
if (ACLNoPopup == 1){ACLxleft = ACLwidth;ACLytop = ACLheight;}
	 
if (ACLis_nav4 || ACLis_opera5 || (ACLis_ie4up && ACLis_mac))
{ 
	ACLKeyWinURL += "+html"
	var ACLkeywin = window.open(ACLKeyWinURL,"keywin","height=10,width=10,screenX="+ACLwidth+",left="+ACLwidth+",screenY="+ACLheight+",top="+ACLheight+",directories=no,location=no,menubar=no,resizable=yes,scrollbars=no,toolbar=no,status=no,maximize=yes");
	var ACLcb = 1;
}
else if (ACLis_ie4up && !ACLis_mac)
{
	ACLKeyWinURL += "+jscript"
	document.write('<SCR'+'IPT language="JavaScript" src="'+ACLKeyWinURL+'"></SCR'+'IPT>');
	var ACLcb = 1;
}
else
{
	window.name='ERROR: Browser Not Compatible';
}
var ACL ='';
var ACLaddressArray = '';
var ACL_referrer = '';
var ACLappName = navigator.appName;
var ACLappVer = parseFloat(navigator.appVersion);
var ACLlegal = false;
var ACL_key = '';
var ACLpostcode = '';
var ACLnum = '';
var ACLcounter = 0;
ACLgetkey();

function ACLillegalChar(ACLtest_string)
{
	var ACLlegal_string = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ";
	ACLtest_string.toLowerCase();
	var ACLthe_char = "";
	for (var i=0; i < ACLtest_string.length; i++)
	{
		ACLthe_char = ACLtest_string.charAt(i);
		if (ACLlegal_string.indexOf(ACLthe_char) == -1)
		{
			alert("The Postcode cannot contain the character "+ACLthe_char);
			ACLlegal = false;
			return ;
		}
	}
	ACLlegal = true;
}
function ACLcheck4key()
{	
	if (ACL_key == '')
	{
		ACLcounter++;
		if (ACLcounter > ACLwait)
		{
			window.clearTimeout(ACLkeytimer);
			alert(ACLErrorMsg);
			window.name = ACLfirstWinName;
			return;
		}
		ACLwinopen(ACLpostcode,ACLnum);
	}
	else 
	{
		window.clearTimeout(ACLkeytimer);
		ACLwinopen(ACLpostcode,ACLnum);
	}
}
function ACLwinopen(ACLpcode,ACLn)
{
	ACLnum = ACLn;
	ACLpostcode = ACLpcode;
	
	if (ACLNoPopup == 1 && ACLpostcode == "")
	{
		return;
	}

	if (ACLDebug == 1)
	{
		if (ACL_key == '')
			alert("This page is in Debug Mode:\nThe rapid addressing system has not yet loaded.\nPlease wait a few seconds then press the button again."); 
		else if (ACL_key.indexOf("ERROR")== -1)
			alert("This page is in Debug Mode:\nNo errors have occured");
		else
			alert("This page is in Debug Mode:\n"+ACL_key);
	}
	else if (ACL_key =='')
	{		
		var ACLkeytimer = window.setTimeout('ACLcheck4key()',500);
		return;
	}
	else if ((ACL_key !='') && (ACL_key.indexOf("ERROR")== -1))
	{
		ACLillegalChar(ACLpostcode);
		if (ACLlegal == true)	
		{
			ACLorigWinName = window.name;
			var ACL_postcode = escape(ACLpostcode);
			ACLreturn_location = ACLnum;
			if (ACL_postcode == "")
			{
				ACL_postcode = "NULL";
			}
			var ACLurl = ACLprotocol + '://www.allies-computing.co.uk/postcoderweb/cgi-bin/postcoderweb.cgi?'+ACL_postcode+'+'+ACL_key+'+'+ACL_bg_color+'+'+escape(ACL_font)+'+'+ACL_font_size+'+'+ACL_font_color+'+'+escape(ACL_absent_postcode_msg)+'+'+escape(ACL_no_match_msg)+'+'+escape(ACL_match_msg)+'+'+ACL_address_format+'+'+ACLNoPopup;
			var ACLurlLength = ACLurl.length;
			if (ACLurlLength > 2050)
			{
				alert('The length of the user variables has exceeded 2050 characters,\nyou must reduce the length of the messages for PostCoder Web to function.\nthe current length is '+ACLurlLength);
			}
			else
			{
				ACL = window.open(ACLurl,'addWindow',"height="+ACL_window_height+",width="+ACL_window_width+",screenX="+ACLxleft+",left="+ACLxleft+",screenY="+ACLytop+",top="+ACLytop+",directories=no,location=no,menubar=no,resizable=yes,scrollbars=yes,toolbar=no,status=no,maximize=yes");

				ACLsettimer();
				return;
			}
		}
	}
	else if (ACL_key.indexOf("ERROR")!= -1)
	{
	alert(ACLErrorMsg);
	return;
	}
}
function ACLsettimer()
{
	ACLtimer = window.setTimeout('ACLcheckadd()',1000);
}
var i=0;
function ACLcheckadd()
{
	if (window.name != ACLorigWinName)
	{
		ACLreturnAddress();
		window.name = ACLorigWinName;
		window.clearTimeout(ACLtimer);
	}
	else
	{	
		if (!(ACL && !ACL.closed))
		{
			window.clearTimeout(ACLtimer);
			window.name = ACLorigWinName;
		}
		else
		{
			ACLsettimer();
		}
	}
}
function ACLreturnAddress()
{
	var ACLreturnstring = '';
	var ACLbigxString = '';
	var ACLescapeString='';
	ACLbigxString = window.name;
	for(i=0;i<ACLbigxString.length;i++)
	{
		if (ACLbigxString.charAt(i) != 'x')
		{
			ACLescapeString += ACLbigxString.charAt(i);
		}
		else if (ACLbigxString.charAt(i) == 'x')
		{
			ACLescapeString += '%';
		}
	}
	ACLreturnstring = unescape(ACLescapeString);
	ACLaddressArray = ACLreturnstring.split("??");

	ACLcompleteAddress();
}
function ACLgetkey()
{
		ACLkeytimer = window.setTimeout('ACLcheckkey()',1000);
}
function ACLcheckkey()
{
	if (window.name != ACLfirstWinName)
	{
		ACL_key = window.name;
		window.name = ACLfirstWinName;
		window.clearTimeout(ACLkeytimer);
	}
	else
	{
		ACLgetkey();
    	}
}

