$(document).ready(function(){
	$('.locationsearch div.collapsed a').bind('click', showSearchForm);
	
	initializeDirections();
});

function showSearchForm() {
	var $collapsed = $(this).parents('.locationsearch').find('.collapsed');
	var $expanded = $(this).parents('.locationsearch').find('.expanded');
		
	$collapsed.fadeTo(200, 0.0).slideUp(300, 'easeInQuart');
	$expanded.slideDown(500, function() {
		$expanded.find('input:first').focus();
	}, 'easeOutQuart');
	
	return false;
}

function initializeDirections() {
	$('#locations div.location div.address a').bind('click', displayDirectionsForm);
}

function displayDirectionsForm() {
	var elm = this;
	var params = $(elm).attr('href');
	params = params.slice(params.indexOf('?') + 1).split('&');
	
	for(var i = 0; i < params.length; i++)
		params[i] = params[i].slice(params[i].indexOf('=') + 1).replace(/%20/g, ' ');/* 'replace' call: Temp fix... */
	
	var address = $('#frmLocationSearch input[name=address]').val();
	var city = $('#frmLocationSearch input[name=city]').val();
	var state = $('#frmLocationSearch select[name=state]').val();
	var zip = $('#frmLocationSearch input[name=zip]').val();
	var to_address = params[5]; 
	var to_address2 = params[6];
	var to_city = params[7];
	var to_state = params[8];
	var to_zip = params[9];
	var to_name = params[10];
	
	var states = 'AL,AK,AS,AZ,AR,CA,CO,CT,DE,DC,FM,FL,GA,GU,HI,ID,IL,IN,IA,KS,KY,LA,ME,MH,MD,MA,MI,MN,MS,MO,MT,NE,NV,NH,NJ,NM,NY,NC,ND,MP,OH,OK,OR,PW,PA,PR,RI,SC,SD,TN,TX,UT,VT,VI,VA,WA,WV,WI,WY'.split(',');
	var html = '';
	
	html = '<div class="directions_form" style="display: none"> \
				<div class="left"> \
					<form method="get" id="frmDirections" name="directions"> \
						<strong>Enter Starting Address:</strong><br /><br /> \
						<p><label for="address" class="right_align">Address</label><input type="text" name="address" value="' + address + '" /></p> \
						<p><label for="city" class="right_align">City</label><input type="text" name="city" value="' + city + '" /></p> \
						<p><label for="state" class="right_align">State</label><select name="state"> \
							<option value="">Any</option>';
		for(var i = 0; i < states.length; i++) {
			if(states[i] == state)
				html += '<option value="' + states[i] + '" selected="selected">' + states[i] + '</option>';
			else if(states[i] != '')
				html += '<option value="' + states[i] + '">' + states[i] + '</option>';
		}
		
		html += '		</select> \
						\
						<label for="zip" id="zip" class="right_align">ZIP</label><input type="text" name="zip" id="zip" value="' + zip + '" /></p> \
						\
						<input type="hidden" name="to_address" value="' + to_address + '" /> \
						<input type="hidden" name="to_address2" value="' + to_address2 + '" /> \
						<input type="hidden" name="to_city" value="' + to_city + '" /> \
						<input type="hidden" name="to_state" value="' + to_state + '" /> \
						<input type="hidden" name="to_zip" value="' + to_zip + '" /> \
						<input type="hidden" name="to_name" value="' + to_name + '" /> \
						\
						<p><input type="image" name="find" id="btnFindSearch" value="Find" alt="Find" src="/classlibrary/com/locationfinder/_images/btn_get_directions.gif" class="hover" /></p> \
					</form> \
				</div> \
				<div class="right"> \
					<a class="close" href="">Close</a> \
						<strong>Destination Address:</strong><br /><br /> \
						<strong>' + $(elm).parents('.location').children('.address').children('h3').html() + '</strong><br /> \
						' + $(elm).parents('.location').children('.address').children('.info').html() + '\
				</div> \
				</div>';
	
	
	$('#locations div.location div.directions_form a.close').trigger('click');
	
	$(elm).parents('div.location').append(html);
	$('#locations div.location div.directions_form a.close').bind('click', closeDirectionsForm);
	
	/* Animate Form */
	$(elm).hide();
	$('#locations div.location div.directions_form').slideDown(500, function() {
		$(this).find('input:first').focus();
	}, 'easeOutQuart');
	
	return false;
}

function closeDirectionsForm() {
	$('#locations div.location div.address a:hidden').show();
	$('#locations div.location div.directions_form').slideUp(500, function() { $(this).remove(); });
	
	return false;
}