
function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}


function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}


function setScreenClass(){
	var fmt = document.documentElement.clientWidth;
	var height = document.documentElement.clientHeight;
	var height_alt = 0; // alternate height, for opera
	var cls = '';		
	
	// Opera calculates document.documentElement.clientHeight as
	// the height of the page, not the height of the viewport, so we must use
	// window.innerHeight instead.
	
	if(height_alt=window.innerHeight){
		// if height looks supicious, use alternate height
		if(height==0||height-height_alt>100){
			height=height_alt;
		}
	}
	
	if(fmt>=1200){
		cls='widescreen';	
	}
	
	if(fmt<=740){
		cls='smallscreen';
	
		if(fmt<=600){
			cls=cls + ' tinyscreen';
		}
	}
	
	if(height<540){
		cls=cls + ' shortscreen';
	}

	document.body.className=cls;
}

//window.onload = setScreenClass; 
window.onresize = setScreenClass;

function set_us_or_domestic(from){
	if(
		(
			$("#country_group_us").attr("checked") &&
			$("#country").attr('value')=='US'
		)
			||
		(
			$("#country_group_us").attr("checked") &&
			from=='radio'
		)
			||
		(
			$("#country").attr('value')=='US'&&
			from=='select'
		)
	){
		if($("#addr_2_pair input").attr('value')==''){$("#addr_2_pair").hide();}
		if($("#addr_3_pair input").attr('value')==''){$("#addr_3_pair").hide();}
		$("#us_city_pair").show();
		$("#us_state_pair").show();
		$("#us_zip_pair").show();
		$("#country").attr('value','US');
		$("#country_group_us").attr("checked",'checked');
		
	}
	
	else{
	
		$("#addr_2_pair").show();
		$("#addr_3_pair").show();
		$("#us_city_pair").hide();
		$("#us_state_pair").hide();
		$("#us_zip_pair").hide();
		
		$("#city").attr('value','');
		$("#state").attr('value','');
		$("#zip").attr('value','');
		
		$("#country_group_other").attr("checked",'checked');
		if($("#country").attr('value')=='US'){
			$("#country").attr('value','AF');
		}
	}

	set_opt_addr_controls();
}

function set_opt_addr_controls(){
	
	if(
		$("#addr3").is(":visible") ||
		!($("#addr2").is(":visible"))
		
	){
		$("#show_addr3").hide();
	}
	else{
		$("#show_addr3").show();
	}

	if($("#addr2").is(":visible")){
		$("#show_addr2").hide();
	}
	else{
		$("#show_addr2").show();
	}
}

$(document).ready(function(){
	
	//Location Edit Form
	set_us_or_domestic('radio');
	
	set_opt_addr_controls();
	
	$("#show_addr2 a").click(
		function(){
			$("#addr_2_pair").show();
			set_opt_addr_controls();
		}
	);
	
	$("#show_addr3 a").click(
		function(){
			$("#addr_3_pair").show();
			set_opt_addr_controls();
		}
	);	
	
	$("#country").change(
		function(){
			set_us_or_domestic('select');
		}
	);
	
	$("#country_group_us").change(
		function(){
			set_us_or_domestic('radio');
		}
	);
	
	$("#country_group_other").change(
		function(){
			set_us_or_domestic('radio');
		}
	);
	
	if ($.browser.msie) {
		/*	
		IE does not fire the onchange event for radio buttons until the button
		loses focus. Must use onclick handler instead.
		*/
		$("#country_group_us").click(
			function(){
				set_us_or_domestic('radio');
			}
		);	
		
		$("#country_group_other").click(
			function(){
				set_us_or_domestic('radio');
			}
		);
	}
	
	// Dealer Edit links - hide for normal users; show to mods
	// Show if 'edit this page' link is selected
	$("a.edit").hide();
	$(".moderator a.edit").show();
	$("#find_a_dealer_below_to_edit").hide();
	
	var pageurl=window.location + '';
	
	if(pageurl.match('show_edit_links=1')){
		$("a.edit").show();
		setCookie('show_edit_links',1,90);
	}
	
	$("#edit_dealers_on_this_page").click(
		function(){
			$("a.edit").show();
			setCookie('show_edit_links',1,90);
		}
	);
	
	if(getCookie('show_edit_links')==1){
		$("a.edit").show();
	}
	
	//show/hide optional password
	$(".optional_password").hide();
	$("a.login").click(
		function(){
			$("a.login").attr('href','javascript:;');
			$(".optional_password").show();
			$("#i_forgot_my_password").show();
		}
	);
	
	$("a.create_account").click(
		function(){
			$("a.create_account").attr('href','javascript:;');
			$(".optional_password").show();
			$("#i_forgot_my_password").hide();
		}
	);
	
	$("#dealer_form_global input.zip").focus(function(){
	    this.select();
	});
	
	$("li:last-child").addClass('last');

	//$('#select_state input[type="submit"]').hide();

	$('#select_state select').change(
		function(){
			$('#select_state').submit();
		}
	);

	//$('#select_country input[type="submit"]').hide();

	$('#select_country select').change(
		function(){
			$('#select_country').submit();
		}
	);

	var state_selectedindex=0;
	var country_selectedindex=0;
	
	state_selectedindex=$('#state_selectedindex').val();
	country_selectedindex=$('#country_selectedindex').val();

	$('#select_state select').attr('selectedIndex',state_selectedindex);
	$('#select_country select').attr('selectedIndex',country_selectedindex);

	$('#toggle_to_zip_form').attr('href','javascript:;');
	$('#toggle_to_state_form').attr('href','javascript:;');
	$('#toggle_to_country_form').attr('href','javascript:;');
	
	$('#toggle_to_zip_form').click(
		function(){
			$('#toggle_to_zip_form').addClass('selected');
			$('#toggle_to_state_form').removeClass('selected');
			$('#toggle_to_country_form').removeClass('selected');
			
			$('#nearest_dealer').parent().show();
			$('#select_state').parent().hide();
			$('#select_country').parent().hide();
		}
	);

	$('#toggle_to_state_form').click(
		function(){
			$('#toggle_to_zip_form').removeClass('selected');
			$('#toggle_to_state_form').addClass('selected');
			$('#toggle_to_country_form').removeClass('selected');

			$('#nearest_dealer').parent().hide();
			$('#select_state').parent().show();
			$('#select_country').parent().hide();
		}
	);
	
	$('#toggle_to_country_form').click(
		function(){
		
			$('#toggle_to_zip_form').removeClass('selected');
			$('#toggle_to_state_form').removeClass('selected');
			$('#toggle_to_country_form').addClass('selected');

			$('#nearest_dealer').parent().hide();
			$('#select_state').parent().hide();
			$('#select_country').parent().show();
		}
	);
});
