//(function($){
/**
* Menu manipulation
* @version $Id: pyramid.js 281 2010-03-04 08:59:24Z mehis $
* @requires jQuery
* @author Mehis Kaare
*/
	jQuery.fn.animateMenu = function(options) {
		var defaults = {
			debug					: false,
			menu_height				: 86,
			menu_animation_style	: 'fade', //[none|fade]
			menu_animation			: 250,
			menu_over_animation 	: 500,
			menu_out_animation  	: 500,
			menu_out_sensitive  	: 500,
			menu_over_sensitive		: 350,
			main_menu_container 	: '#mainmenu',
			sub_menu_container 		: '#submenu',
			default_main_menu 		: 35
		};  
		var options = jQuery.extend(defaults, options);

		var debug					= options.debug;
		var menu_height				= options.menu_height;
		var menu_animation_style	= options.menu_animation_style;
		var menu_animation			= options.menu_animation;
		var menu_over_animation 	= options.menu_over_animation;
		var menu_out_animation  	= options.menu_out_animation;
		var menu_out_sensitive  	= options.menu_out_sensitive;
		var menu_over_sensitive		= options.menu_over_sensitive;
		var main_menu_container 	= jQuery(options.main_menu_container);
		var sub_menu_container 		= jQuery(options.sub_menu_container);
		var default_main_menu 		= options.default_main_menu;
		var active_main_menu		= (parseInt(options.default_main_menu)>0) ? options.default_main_menu : null;
		var menu_id 	 			= (parseInt(options.active_main_menu)>0) ? options.active_main_menu : null;
		var menu_count_array 		=  new Array();
		var menu_hover	 			= null; // active menu
		var timeout;

		main_menu_container.children("ul").children().not(".separator").each(function(i){
			var id = jQuery(this).children("a").attr('id');
			menu_count_array[id] = jQuery(".sub_menu_"+id).children().size(); 
		});
		
		/******************************************************/
	
		function submenuHide(){
			if(typeof(console) != "undefined" && debug) console.log("submenuHide()");
			sub_menu_container.slideUp(menu_out_animation);
			mainmenuDeactivate(menu_id);
		}
		
		function submenuShow(){
			if(typeof(console) != "undefined" && debug) console.log("submenuShow()");
			sub_menu_container.slideDown(menu_out_sensitive);
		}
		
		function submenuAnimate(menu_id){
			if(typeof(console) != "undefined" && debug) {
				console.log("submenuAnimate("+menu_id+")");
				console.log("class = "+jQuery(".sub_menu_"+menu_id).attr('class')+"");
			}
			//if(menu_count_array[menu_id]>0){
				if (menu_animation_style=='fade'){
					sub_menu_container.children(".inline").children().hide();
					if (navigator.appName=="Microsoft Internet Explorer")
						jQuery(".sub_menu_"+menu_id).css({'marginTop':0}).show();
					else
						jQuery(".sub_menu_"+menu_id).css({'marginTop':0}).fadeIn(menu_animation);
				} else {
					if(typeof(console) != "undefined"  && debug) console.log("none");
					sub_menu_container.children(".inline").children().hide();
					jQuery(".sub_menu_"+menu_id).css({'marginTop':0}).show();	
				}
				//mainmenuActivate(menu_id);
			//}
			if (menu_id==34) sub_menu_container.attr("class", "sub_type2"); else sub_menu_container.attr("class","sub_type1");
		}
		
		function mainmenuActivate(menu_id){
			var menu = jQuery("#"+menu_id);
			active_main_menu  = menu_id;
			var mainmenuList = menu.parents("ul").children();
			mainmenuList.each(function(i) {
				jQuery(this).find("img").attr('src', 'static/menu/'+jQuery(this).find("a").removeClass("active").attr("id")+'.1.gif');
			});
			menu.addClass("active").find("img").attr('src', 'static/menu/'+menu_id+'.2.gif');
		}
		
		function mainmenuDeactivate(menu_id){
			var menu = jQuery("#"+menu_id);
			menu.removeClass("active");
			menu.find("img").attr('src', 'static/menu/'+menu_id+'.1.gif');
		}
		
		/********************************************/
		
		main_menu_container.hover(			  
			function() {
				clearTimeout(timeout);
			}, function () {
				if (menu_hover==null && active_main_menu){
					submenuShow();
				}
			}
		);
		
		main_menu_container.not(".separator").find("img").hover(function() {
			menu_id 	= jQuery(this).parent("a").attr("id");
			if(typeof(console) != "undefined"  && debug) 
				console.log("menu_hover=" +menu_hover+" menu_id=" +menu_id+ " active_main_menu=" +active_main_menu+ " default_main_menu=" +default_main_menu+ "" + "");
			if (menu_id!=active_main_menu ) { //|| menu_hover==null
				menu_hover 	= menu_id;
				clearTimeout(timeout);
				timeout = setTimeout(function() {
					if (menu_count_array[menu_hover]>0){
						if (sub_menu_container.css('display')=='none'){
							submenuShow();
						}
						submenuAnimate(menu_id);
						mainmenuActivate(menu_id);
					} else {
						submenuHide();
					}
					
				}, menu_over_sensitive);
			}
		}, function () {
			menu_hover = null;
			clearTimeout(timeout);
		});
		
	
		sub_menu_container.hover(function() {
			menu_hover = true;
		}, function () {
			if (menu_id!=default_main_menu){
				menu_hover = null;
				timeout = setTimeout(function() {
					if (menu_hover==null && !default_main_menu){
						submenuHide();
					} else if (menu_hover==null && active_main_menu){
						menu_id = default_main_menu;
						submenuAnimate(menu_id);
						mainmenuActivate(menu_id);
					}
				}, menu_out_sensitive);
			}
		});
		
		/**
		* Submenu image over
		*/
		var default_menu_image;
		sub_menu_container.find("li[class!='active']").find("img").hover(function() {
			var image = jQuery(this);
			if (image.attr("rel")!=""){
				var id = jQuery(this).parent("a").attr('id');	
				default_menu_image = image.attr("src");
				image.attr("src", "static/menu/"+id+".2.gif");
			}
		}, function () {
			var image = jQuery(this);
			if (image.attr("rel")!=""){
				image.attr("src", default_menu_image);
			}
		});
	};


/**
* Pricelist
* @author Mehis Kaare
*/
	jQuery.fn.initPricelistButton = function() {
		jQuery(".pricelist").click(function(){
			var id = jQuery(this).parent().attr("id");
			var pricelist_menu 	= jQuery(this).parent().children(".pricelist_select");
			//var pricelist_arrow = jQuery(this).parent().children(".pricelist_arrow");
			jQuery(".pricelist_select").slideUp(150);
			//jQuery(".pricelist_arrow").hide();
			//pricelist_arrow.show();
			jQuery('span', this).addClass('arrow');
			pricelist_menu.slideDown();
			return false;
		});
		
		jQuery(".pricelist_agency, .pricelist_model").click(function(){
			jQuery(".pricelist_select").slideUp();
			jQuery(".pricelist_arrow").hide();
			var id = jQuery(this).attr("id");
			var pricelist_id = jQuery(this).parents(".pricelist_button").attr("id");
			if (jQuery(this).attr("class") == "pricelist_agency")
				tb_show("","./?op=pricelist&pricelist_id="+pricelist_id+"&agency_id="+id+"&width=450&height=100&animate=1");
			else
				tb_show("","./?op=pricelist&pricelist_id="+pricelist_id+"&model_id="+id+"&width=450&height=100&animate=1");
			return false;
		});
		
		jQuery("body").click(function(){
			jQuery(".pricelist_select").slideUp();
			//jQuery(".pricelist_arrow").hide();
			jQuery('.pricelist span').removeClass('arrow');
		});
	};

/**
* Banner
* @author Mehis Kaare
*/
	jQuery.fn.initBanner = function(options) {
		var defaults = {
			over			: 'none', //[none,fade]
			over_animation 	: 500,
			out_animation  	: 250
		};  
		
		var options = jQuery.extend(defaults, options);

		var targetContent = null;
		jQuery('#b_banners .inline li a').click(function() { 
			if (jQuery(this).attr('rel')!='link') {
				var bannerPosLeft = parseInt(jQuery(this).parent().position().left + jQuery(this).parent().parent().position().left) + 20;
				targetContentSource = jQuery(this).prev();
				targetContent = jQuery("#banner_overlay");
				jQuery('#banner_overlay').slideUp(options.out_animation, function() { 
					targetContent.css({left:bannerPosLeft}).html(targetContentSource.html());
					targetContent.slideDown(options.over_animation);
					//targetContent.pngFix();
				});
				return false;
			}
		});
		
		function closeBanners(){
			jQuery('#banner_overlay').slideUp(options.out_animation);
		}
		
		jQuery("html").click(function(){
			closeBanners();
		});
		
		jQuery("div[class^='jcarousel-next'], div[class^='jcarousel-prev'], #b_close2").live("click", function(){
			closeBanners();
		});

		if (options.over=='fade'){
			jQuery('#b_banners .inline li a').hover(function() {
				jQuery(this).parent().animate({ 
					 'opacity': 0.8,
					 top: -1
				}, 50).animate({
					'opacity': 1
				}, 150);
			}, function () {
				jQuery(this).parent().animate({
					'opacity': 1,
					top: 0
				}, 150);
			});
		}

	};

	
/**
* Footer
* @author Mehis Kaare
*/
	jQuery.fn.initFooter = function(options) {
		var defaults = {
			url_array		: new Array(),
			redirect_array 	: new Array()
		};  
		var options = jQuery.extend(defaults, options);	

		var content = jQuery('#bottom_overlay .inline #b_overlay');
		jQuery('.b_link').click(function() {
			targetContent = jQuery('#bottom_overlay');						 
			var id = jQuery(this).attr('id');
			var request_url = options.url_array[id];
			
			if (parseInt(options.redirect_array[id])==0){
				jQuery("#bottom_content .links a").removeClass('active');
				jQuery(this).children("a").addClass('active');
		
				targetContent.children(".active_arrow").css({'left':((jQuery(this).position().left+jQuery(this).width()/2) - targetContent.children(".active_arrow").width()/2 )});

				jQuery.post(request_url, {ajax:1}, function(data){
														
					if(typeof closeBanners == 'function') closeBanners();
					
					if (targetContent.css('display') == 'none') {
						content.html(data);
						targetContent.slideDown(500);	
					} else {
						content.fadeOut("fast", function() { 
							content.html(data);
							content.fadeIn();
						});
					}
				});
			} else {
				document.location = request_url;
			}
			
			return false;
		});
		
		jQuery('#b_close').click(function() {
			targetContent.slideUp(250);
			jQuery("#bottom_content .links a").removeClass('active');						 
			return false;
		});	

	};



//})(jQuery); 