$(document).ready(function(){

////////////////////////////////////
////////////////////////////////////
// Settings
////////////////////////////////////

// width of columns inside mega dropdown. Does NOT set the width. This is used to calculate the appropriate width for the dropdown containers.
var mega_dropdown_col_width = 148;
// defines the element, such as table or div that is the outer edge of the template. Replace #wrapper with id or class of element.
var mega_template_container = $("#top-link");
// enter a comma separated list of category type foreign ids corresponding to the category types whose mega menu should be aligned left with no auto center.
var no_auto_center = [];
// enter a comma separated list of category type foreign ids corresponding to the category types whose mega menu should be aligned right.
var align_right = ["ct_144","ct_145"];

////////////////////////////////////
////////////////////////////////////
// End Settings
////////////////////////////////////

var mega_template_container_width = $(mega_template_container).width();

// add class names to top level li's so that later statements can use class names to properly align dropdowns
// no_auto_center
$(".mega").each(function(){
	var curr_id = $(this).attr("id");
	// curr_id = parseInt(curr_id);
// $.inArray(4,data)
var no_auto_center_test = $.inArray(curr_id, no_auto_center);
	if(no_auto_center_test != -1) {
		$(this).addClass("no_auto_center");
	}
var align_right_test = $.inArray(curr_id, align_right);
	if(align_right_test != -1) {
		$(this).addClass("mega_right_align");
	}
	//$('<img src="images_templ/megamenu_separator.jpg" height="30" width="4" border="0">').prependTo($(this));
});


// set width of .mega_content dropdowns in horizontal nav
$("#mega_menu .mega_content").each(function(){
	$this = $(this);
	var curr_number_of_columns = $this.find("div").length;
	var curr_mega_content_width = (curr_number_of_columns * mega_dropdown_col_width);
	if(curr_number_of_columns == 1){curr_mega_content_width = curr_mega_content_width - 10;}
	curr_mega_content_width = curr_mega_content_width + "px";
	$this.css("width",curr_mega_content_width);
	// give left border to first column
    $this.find("div:first").css("padding-left","0px").css("margin-left","-1px");
	$this.find("div:last").css("border-right","none");
});

existing_template_position = $(mega_template_container).offset();
existing_template_left_margin = existing_template_position.left;
$(".mega").each(function(){
	$this = $(this);
	// if browser is ie6, add iframe beneath dropdown so that it appears over select boxes

/*	if($.browser.msie && $.browser.version=="6.0") {
		var ie6_iframe = "<iframe class='mega_cover_select' />";
		$(this).prepend(ie6_iframe);
		var mega_height_to_match = $(this).height;
		$(".mega_cover_select").css("height",mega_height_to_match);
	}
*/
	var curr_mega_content_width = $this.find(".mega_content").width();
	// if dropdown is greater than half of screen width, then place in center
	if(curr_mega_content_width >= mega_template_container_width/2 ){
		var desired_left_value = (mega_template_container_width - curr_mega_content_width)/2;
		var existing_position = $this.offset();
		var existing_left_position = existing_position.left;
		var existing_left_inside_template_position = existing_left_position - existing_template_left_margin;
		var left_position_adjustment = ((existing_left_inside_template_position - desired_left_value) * -1) + 2 + "px";
		// dont' center the dropdown if it's too close to the edge
		if($this.hasClass("mega_right_align") == false && $this.hasClass("no_auto_center") == false){
			$this.find(".mega_content").css("left",left_position_adjustment);
		}

		// Mod

		// desired_left_value > existing_left_inside_template_position
		//$('#ct_136').find('.mega_content').css("left","0px");
		//$('#136').find('.mega_content').css("left","0px");
	}

// assign right position to dropdown so that it stays on screen
	if($this.hasClass("mega_right_align")) {
			// get width of mega_content
				var curr_left_value = -1 * ($this.find(".mega_content").outerWidth() - $this.outerWidth()) + 2;
				// assign CSS left property to mega content
				$this.find(".mega_content").css("left",curr_left_value);
		} // if
	} //function
); // each

// change class on hover to cause dropdown
//$(".mega").hover(function() {
//    $this = $(this);
//	$this.find("a:first").css("color","#000");
//    t = setTimeout(function() {
//       $this.addClass("hovering");
//    }, 500);
//    $this.data('timeout', t);

//}, function() {
//    $this = $(this);
//    clearTimeout($this.data('timeout'));
//	$this.removeClass("hovering");
//	$this.find("a:first").css("color","#fff");
//});



$(".mega").hover(
		function(){
			$this = $(this);
                        $this.addClass("hovering");
                        $this.find("a:first").css("color","#fff");
						$this.find("a:first").css("background-color","#1E99D2");
                    },
		function(){
			$this.removeClass("hovering");
                        $this.find("a:first").css("color","#fff");
						$this.find("a:first").css("background-color","transparent");
    }
);





}); // ready
