function dealer_lookup() {

	$('Go').disabled = true;
	$('content').innerHTML = '<h2>Searching...</h2>';
	try {
		var dl_form = $('dealer_lookup_form');
		var dl_action = dl_form.action;
		var lookupRequest = new Request.HTML(
			{url:'posto/default.aspx?'+dl_action, onComplete: processLookupData}
		).post(dl_form);
	}
	catch(err)
	{
		$('content').innerHTML = '<p class="error">Sorry, but we encountered an error when trying to find dealers close to you.<br />Please try again.</p>';
	}
}

var area = null;
function rep_lookup(q) {
	$('repcontent').innerHTML = '<h2>Getting Rep Information...</h2>';
	if(q[0] == '/') q = q.substring(1);
	//q = 'http://www.jimbishopcabinets.com/'+q;
	area = q.substring(q.indexOf('s=')+2);
	try {
		//alert(q);
		var lookupRequest = new Request.HTML({url:q, onComplete: processRepLookupData});
		lookupRequest.send();
	}
	catch(err)
	{
		$('repcontent').innerHTML = '<p class="error">Sorry, but we encountered an error when trying to locate rep information.<br />Please try again.</p>';
	}
}

var stateAbbr = ['AL','AK','AZ','AR','CA','CO','CT','DE','DC','FL','GA'
,'HI','ID','IL','IN','IA','KS','KY','LA','ME','MD','MA','MI','MN','MS'
,'MO','MT','NE','NV','NH','NJ','NM','NY','NC','ND','OH','OK','OR','PA',
'RI','SC','SD','TN','TX','UT','VA','VT','WA','WV','WI','WY'];
var stateNames = ['Alabama','Alaska','Arizona','Arkansas','California',
'Colorado','Connecticut','Delaware','District of Columbia','Florida',
'Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky',
'Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota',
'Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire',
'New Jersey','New Mexico','New York','North Carolina','North Dakota',
'Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina',
'South Dakota','Tennessee','Texas','Utah','Virginia','Vermont',
'Washington','West Virginia','Wisconsin','Wyoming'];


function processRepLookupData(tree, elements, html, js)
{

	var x = document.createElement('div');
	x.innerHTML = html;

	var d = document.createElement('div');

	var data = $(x).getElements('table');

	for(var i = 0; i < data.length; i++)
	{
		if(data[i].className == 'txPop') { d.appendChild(data[i]); }
	}

	var xTbls = d.getElementsByTagName('TABLE');


	for (var j = 0; j < xTbls.length; j++)
	{

		var xTr = xTbls[j].getElementsByTagName('TR');

		var stIndex = -1;
		for(var stI = 0; stI < stateAbbr.length; stI++)
		{
			if(stateAbbr[stI] == area) { stIndex = stI; break; }
		}

		var st = stateNames[stI];

		// 0: company, 1: addr1, 2: addr2, 3: attn, 4: phone, 5: fax, 6: email, 7: areas
		if(j == 0)
			$('repcontent').innerHTML = '<h2>In ' + st + ' please contact:</h2>'


		var t0, t1, t2, t3, t4, t5, t6, t7 = '';
		try { t0 = $(xTr[0]).get('text'); } catch(e) {}
		try { t1 = $(xTr[1]).get('text'); } catch(e) {}
		try { t2 = $(xTr[2]).get('text'); } catch(e) {}
		try { t3 = $(xTr[3]).get('text').replace('Attn:',''); } catch(e) {}
		try { t4 = $(xTr[4]).get('text'); } catch(e) {}
		try { t5 = $(xTr[5]).get('text'); } catch(e) {}
		try { t6 = $(xTr[6]).getElements('td')[0].get('html'); } catch(e) {}
		try { t7 = $(xTr[7]).getElements('td')[0].get('html'); } catch(e) {}

		if(t3.trim() == '') { t3 = t0; t0 = ''; }
		if(t7.trim() == '<b>Area Covered:</b>') { t7 += ' ' + st; }

		var str = '';

		str += '<div class="dealer-info" style="float: left; width: 40%; margin-right: 7%;">';
		str += '<p>'+'<big><strong>'+ t3 + '</strong></big><br/>' + t0 + '<br />' + t7 + '</p>';
		str += '<p><big><strong>'+ t4 +'</strong></big><br />';
		str += '' + t5 +'<br />';
		str += '' + t6 + '<br />';
		str += '<br />';
		str += t1 + '<br />' + t2;
		str += '</p>';
		str += '</div>';

		$('repcontent').innerHTML += str;

	}
}

function processLookupData(tree, elements, html, js)
{

	$('Go').disabled = false;

	html = html.replace(/\n/gi, '');
	var check = /Invalid Zipcode/gi;
	var checkMatch = check.exec(html);

	if(checkMatch != null && checkMatch.length > 0)
	{
		$('content').innerHTML = '<p class="error">There appears to be a problem with the zip code you entered.<br />Please try again or <a href="contact-bishop-cabinets.aspx">contact us</a> for more information.</p>';
		return;
	}

	var tableRegex = /<table.*?(<table.*?\/table>)/gi;
	var tableMatch = tableRegex.exec(html);

	if(tableMatch == null || tableMatch.length == 0)
	{
		dealer_lookup();
		return;
		//$('content').innerHTML = '<p class="error">We could not find any dealers close to your zip code.<br />It may be a system error. Please <a href="contact-bishop-cabinets.aspx">contact us</a> for more information.</p>';
		//
	}

	var table = tableMatch[1];

	var t = document.createElement('div');
	var r = document.createElement('div');
	var dl = document.createElement('dl');
	t.innerHTML = table;

	var results = t.getElementsByTagName('tr');

	var hdr = document.createElement('h2');
	hdr.innerHTML = 'Below are the three dealers closest to <strong>' + $('csz').value + '</strong>';

	r.appendChild(hdr);
	r.appendChild(dl);


	if(results == null ||results.length == 0)
	{
		$('content').innerHTML = '<p class="error">Sorry, but we could not find any dealers close to your zip code. It may be a system error. Please <a href="contact-bishop-cabinets.aspx">contact us</a> for more information.</p>';
		return;
	}

	for(var i = 2; i < results.length-1; i++)
	{
		var cells = results[i].getElementsByTagName('td');

		var dt = document.createElement('dt');
		var dd = document.createElement('dd');

		dl.appendChild(dt);
		dl.appendChild(dd);

		dt.innerHTML = cells[0].innerHTML;
		var d1 = $(cells[1]).get('html');
		var d2 = $(cells[3]).get('html');
		var d3 = $(cells[2]).get('html');
		var d4l = $(cells[4]).getElementsByTagName('a');

		d = '<h3>'+d1+'</h3>';
		d += '<p class="phone">'+d2+'</p>';
		d += '<p class="address">'+d3+'</p>';
		d += '<p class="links">';

		for(k = 0; k < d4l.length; k++)
			d += '<a href="'+ d4l[k].href + '">'+ $(d4l[k]).get('text') +'</a> ';

		d += '</p>';

		dd.innerHTML = d;

	}

	var sponsor = document.createElement('div');
	sponsor.innerHTML = '<p class="sponsor">search results powered by <a href="http://www.fastsite.com">FastSite.com</p>';

	r.appendChild(sponsor);

	$('content').innerHTML = r.innerHTML;
}
