
// variables

var str	= "";
var str0 = "";
var str1 = "";
var split_str = "";

// admin functions

function clear_field(id)
{
	if (document.getElementById(id).value == "e.g. AL1 4LW") {
		document.getElementById(id).style.color = "black";
		document.getElementById(id).value = "";
	}
}

function submit_postcode_form(e) {
	var keycode;
	keycode = window.event.keyCode;
	
	if (keycode == 13)
	   {
	   full_search();
	   }
}

// search function

function process_string()
{
	// get search string
	str = document.getElementById('postcode').value;
	
	// change to uppercase
	str = str.toUpperCase();
	
	// split the string
	if (str.indexOf(' ') > -1)
	{
		split_str = str.split(' ');
		str0 = split_str[0];
		str1 = split_str[1];
	}
	else
	{
		str0 = "";
		str1 = "";
	}
	
	// remove any spaces
	str = str.replace(/ /i,'');
}


function postcode_search()
{

	if ((str.length > 8) || (str0.length > 4) || (str1.length > 3) || (str.length == 0))
	{
		// search failed
		return -1;
	}
	else
	{
		var init_str_length = str.length;
		
		for (i = 0; i < init_str_length; i++)
		{
			if (p[str])
			{
				// return branch id
				return p[str];
			}
			else
			{
				//delete char off the search string
				str = str.substring(0,str.length-1);
				
				if (str == '')
				{
					// search failed
					return -1;
				}
				
				continue;
			}
		}
	}
}

function region_search()
{
	// process string
	process_string();
	
	// get search result
	var branch_id = postcode_search();
	
	// return region
	if (branch_id == -1) {
		document.getElementById('result').innerHTML = "Region not found";
	} else {
		for (j = 0; j < 16; j++)
		{
			if ((branch_id >= r[j][0]) && (branch_id < r[j+1][0]))
			{
				var region = r[j][2];
				document.getElementById('result').innerHTML = "Region = " + region;
			}
		}
	}
}

function branch_search()
{
	// process string
	process_string();
	
	// get search result
	var branch_id = postcode_search();
	
	// return region
	if (branch_id == -1) {
		document.getElementById('result').innerHTML = "Branch not found";
	} else {
		var branch = b[branch_id][0];
		document.getElementById('result').innerHTML = "Branch = " + branch;
	}
}

function full_search()
{
	// process string
	process_string();
	
	// get search result
	var branch_id = postcode_search();
	
	// display results
	if (branch_id == -1) {
		document.getElementById('result').innerHTML = "<br /><b>Postcode not found</b><br /><br />Please try again or lookup your branch in the <a href='http://www.camra.org.uk/page.aspx?o=branches'>CAMRA Near You</a> section.<br />";
	} else {
		display_result(branch_id);
	}
}

function display_result(branch_id)
{
	// set branch
	var branch = b[branch_id][0];
	
	// set branch contact details
	var branch_contact = b[branch_id][2];
	if (branch_contact == "") {branch_contact = "No branch contact available";}
	
	// set branch contact telephone details
	var branch_tel = b[branch_id][3];
	
	// set branch contact telephone details
	var branch_email = b[branch_id][4];
	
	// find region_url
	var region_id = b[branch_id][5];
	var region_url = r[region_id][1];
	var region = r[region_id][2];
	
	// set branch_url
	var branch_url = b[branch_id][1];
	if (branch_url == "") {branch_url = region_url;}
	
	// set display variables	
	var br = "<br />";
	var heading = "<span class='headerText'>Result:</span>";
	var bullet = "<img src='http://www.camra.org.uk/images/bullet.gif'> ";
	var branch_link = "<a class='bullet_links_large' href='" + branch_url + "'>" + branch + "</a>";
	
	var contact = "<b>Contact name:</b>";
	var tel = "<b>Telephone:</b>";
	var email = "<b>Email:</b>";
	var email_url = "<a href='mailto:" + branch_email + "'>" + branch_email + "</a>";
	
	var contact_table = "";
	
	var region_link = "<a href='" + region_url + "'>" + region + "</a>";
	var region_info = "For other local contacts please visit the " + region_link + " regional page.";
	
	// display the result
	var res = document.getElementById('result');
	
	if ((branch_tel == "") && (branch_email == ""))
	{
		contact_table = "<table cellpadding='0' cellspacing='0' border='0'><tr><td class='bodyCellL'>" + contact + "</td><td class='bodyCellR'>" + branch_contact + "</td></tr></table>";
	}
	else if ((branch_tel != "") && (branch_email == ""))
	{
		contact_table = "<table cellpadding='0' cellspacing='0' border='0'><tr><td class='bodyCellL'>" + contact + br + tel + "</td><td class='bodyCellR'>" + branch_contact + br + branch_tel + "</td></tr></table>";
	}
	else if ((branch_tel == "") && (branch_email != ""))
	{
		contact_table = "<table cellpadding='0' cellspacing='0' border='0'><tr><td class='bodyCellL'>" + contact + br + email + "</td><td class='bodyCellR'>" + branch_contact + br + email_url + "</td></tr></table>";
	}
	else if ((branch_tel != "") && (branch_email != ""))
	{
		contact_table = "<table cellpadding='0' cellspacing='0' border='0'><tr><td class='bodyCellL'>" + contact + br + tel + br + email + "</td><td class='bodyCellR'>" + branch_contact + br + branch_tel + br + email_url + "</td></tr></table>";
	}
	
	// fill the table
	res.innerHTML = br + bullet + branch_link + br + contact_table + br + region_info + br;
}