
var default_zip_text = 'Zip/Postal';
var default_search_text = 'Search...';
var default_country = 'US';
$.fn.disable = function() {
    return this.attr('disabled', true).addClass('disabled');

}

$.fn.enable = function() {
    return this.removeClass('disabled').attr('disabled', false);

} 
var countries = Object();
function update_states(country)
{	
	// Choose the specified make if it isn't already selected
	var countrySel = document.dealersearch.country;
	var stateSel = document.dealersearch.state;
	var zipSel = document.dealersearch.zip;	
	if (zipSel && zipSel.value == '') {
		zipSel.value = default_zip_text;
	}	 
	if (country != 'US' && country != 'CA')
	{		
		if($('#state'))
			$('#state').disable();
		stateSel.options.length = 0;
		return true;
	} else {
		if($('#state'))
			$('#state').enable();
	}
	
	if (!country || (country == ""))
		country = countrySel.value;
		
	if (countries[country]) {
		var states = countries[country]['states'];
		stateSel.options.length = 0;
		if (states) {	
			stateSel.options[0] = new Option('Select a State','0');		
			for (var i=1; i<states.length; i++) {
				stateSel.options[i] = new Option(states[i].name, states[i].abbrev);
			}
		}
	}
}
function update_state(state) {
	var stateSel = document.dealersearch.state;
	var states = stateSel.options;	
	for (var i=0;i<states.length;i++) {
		if (states[i].value == state) {
			stateSel.selectedIndex = i;
			break;
		}	
	}
}

function update_country(country) {
	var countrySel = document.dealersearch.country;
	var countries = countrySel.options;
	for (var i=0; i<countries.length;i++) {
		if (countries[i].value == country) {
			countrySel.selectedIndex = i;
			break;			
		}		
	}
	update_states(country);	
}
function update_country_and_state_selection(country, state) 
{

	if (country == '') {
		return;		
	}
	update_country(country);
	update_state(state);
}

function submit_dealer_form(form)
{
	if(form.search.value == default_search_text) 
		form.search.value = '';
	if(form.zip.value == default_zip_text) 
		form.zip.value = '';
	return true;		
}
