/*
	File: aeolus.js
	Date: August, 2011
	Description: This makes the assumption that a working jQuery library has been included prior to this library.
*/


// show submenus
var submenu = null;
var posturl = "/wp-content/themes/aeolus_canada/finder_responder.php";

$(document).ready(function() {
	jQuery('#main_nav ul').children('li').children('a.main').click(function(){
		var temp = jQuery(this).parent().find('div');
		if(submenu && (submenu != temp)) {
			submenu.stop(false, true).fadeOut();
		}

		submenu = temp;
		
		submenu.stop(false, true).fadeIn();
		
		submenu.mouseleave(function(){
			jQuery(this).stop(false, true).fadeOut();
		});
	});
	jQuery('#main_nav ul').children('li').children('a.main').mouseenter(function(){
		var temp = jQuery(this).parent().find('div');
		if(submenu && (submenu != temp)) {
			submenu.stop(false, true).fadeOut();
		}

		submenu = temp;
		
		submenu.stop(false, true).fadeIn();
		
		submenu.mouseleave(function(){
			jQuery(this).stop(false, true).fadeOut();
		});
	});
	
	document.onclick = function() {
		if(submenu) { submenu.fadeOut(); }
	}
	
	activatePrimarySelector();
	interactive_locator();
});

/*
	AJAX response system for Finder page
*/
function activatePrimarySelector() {
	//alert("start");
	$("#type").change(function() {
		//alert("primary changed");
		if($("#type option:selected").val() != 'default') {
			type = $("#type option:selected").val();
			
			$("#tertiary").fadeOut(300, function(){$("#tertiary").empty()});
			$("#secondary").fadeOut(300, function() {
				$("#secondary").empty(); 
				$("#spinner").fadeIn(300, function(){
					$.ajax({
						url: posturl,
						type: "POST",
						data: "type="+type,
						cache: true,
						success: function(html) {
							activateSecondarySelector(html);
						}
					});
				});
			});
		} else {
			$("#tertiary").fadeOut();
			$("#secondary").fadeOut();
		}
	}).change();
}

function activateSecondarySelector(html) {
	$("#secondary").html(html);
	$("#spinner").fadeOut(300, function() {$("#secondary").fadeIn(300,function() {
		if($("#secondary").find("#rim")) {
			$("#secondary select").change(function(){
				if($("#secondary select").attr("id")=="rim") {
					if($("#secondary select option:selected").val() != 'default') {
						size = $("#secondary select option:selected").val();
						$("#tertiary").fadeOut(300, function() {$("#spinner").fadeIn(300);});
						
						$.ajax({
							url: posturl,
							type: "POST",
							data: "rim="+size,
							success: function(html) {
								activateTertiarySelector(html);
							}
						});
					} else {
						$("#tertiary").fadeOut(300, function(){$("#tertiary").html("")});
					}
				} else {
					if($("#secondary select option:selected").val() != 'default') {
						$("#submit").fadeIn(300);
					} else {
						$("#submit").fadeOut(300);
					}
				}
			}).change();
		}
	});});
}

function activateTertiarySelector(html)  {
	$("#tertiary").html(html);
	$("#spinner").fadeOut(300, function() {$("#tertiary").fadeIn(300);});
	
	$("#tertiary select").change(function(){
		if($("#tertiary select option:selected").val() != 'default') {
			$("#submit").fadeIn();
		} else {
			$("#submit").fadeOut();
		}
	}).change();
}


function interactive_locator() {
	$("#city_radio").change(function(){
		if($(this).is(':checked')) {
			$("#location_search_address_field").val("");
			$("#location_search_1_tr").stop().fadeOut(300, function(){
				$("#search_type").val("city");
				$("#location_search_0_tr").stop().fadeIn();
				$("#location_search_2_tr").stop().fadeIn();
			});
		}
	}).change();
	
	$("#address_radio").change(function(){
		if($(this).is(':checked')) {
			$("#location_search_city_field").val("default");
			$("#location_search_0_tr").stop().fadeOut(300, function(){
				$("#search_type").val("address");
				$("#location_search_1_tr").stop().fadeIn();
				$("#location_search_2_tr").stop().fadeIn();
			});
		}
	}).change();
}
