(function($) {
	//Plugin methods
	var base;
	var a_options;
	var methods = {
		init : function(options_a) {
			base = this;
			base.menu = $(base).find("ul.accordion_content");
			base.menu_items = $(base.menu).find("li.accordion_item");

			$(base.menu_items).hover(function() {
				//hover
				if($(this).hasClass("active")) {
				} else {
					var globe = $(this).find('.title_content .globe_icon');
					var title = $(this).find('.title_content h1');

					$(globe).addClass("active");
					$(title).addClass("active");
				}
			}, function() {
				//out
				if($(this).hasClass("active")) {
				} else {
					var globe = $(this).find('.title_content .globe_icon');
					var title = $(this).find('.title_content h1');

					$(globe).removeClass("active");
					$(title).removeClass("active");
				}
			});
			for(var i = 0; i < base.menu_items.length; i++) {
				var title = $(base.menu_items[i]).find(".title");

				if($(title).hasClass("first")) {

					$(title).click(function() {
						methods.toggleSliderInit($(this).parent());
					});
					$(title).click();
					$(title).unbind();
					$(title).click(function() {

						methods.toggleSlider($(this).parent());
					});
				} else {
					$(title).click(function() {

						methods.toggleSlider($(this).parent());
					});
				}
				var h_menu = $(base.menu_items[i]).find(".highlight_menu");

				$(h_menu).find("li").click(function() {
					$(this).parent().find("li.active").removeClass("active");
					$(this).addClass("active");
					var class_to_show = $(this).find('.c_class').val();
					var p = $(this).parent().parent().parent().parent().parent();
					var cols = $(p).find(".column").filter("." + class_to_show);
					var cols_h = $(p).find(".column").not("." + class_to_show);
					if($(this).hasClass("case")) {

						$(cols_h).css("display", "none");
						$(cols).css("display", "block");
					} else {
						$(cols_h).animate({
							opacity : .2
						}, 400);
						$(cols).animate({
							opacity : 1
						}, 400);
					}
					if($(p).hasClass("active")) {
						return false;
					} else {
						return true;
					}

				});
			}
		},
		toggleSlider : function(elem) {

			var t_content = $(elem).find(".content_wrapper");
			methods.deactivateItem(methods.findActiveItem($(elem).parent()));
			if($(t_content).css("display") == "none") {
				var content = $(t_content).find(".content");
				base.cur_content = content;
				$(content).css({
					opacity : 0
				});
				$(t_content).slideDown(300, "easeInOutQuad", function() {
					$(base.cur_content).animate({
						opacity : 1
					}, 300);
				});
				$(elem).addClass("active");
			} else {
				$(t_content).slideUp(300, "easeInOutQuad", function() {

				});
				$(elem).removeClass("active");
			}

		},
		toggleSliderInit : function(elem) {

			var t_content = $(elem).find(".content_wrapper");
			methods.deactivateItem(methods.findActiveItem($(elem).parent()));
			if($(t_content).css("display") == "none") {
				var content = $(t_content).find(".content");

				$(t_content).slideDown(300, "easeInOutQuad", function() {

				});
				$(elem).addClass("active");
			} else {
				$(t_content).slideUp(300, "easeInOutQuad", function() {

				});
				$(elem).removeClass("active");
			}

		},
		findActiveItem : function(elem) {
			return $(elem).find("li.active");
			// for(var i = 0; i < base.menu_items.length; i++) {
			// if($(base.menu_items[i]).hasClass("active")) {
			// return base.menu_items[i];
			// }
			// }
		},
		deactivateItem : function(elem) {

			var globe = $(elem).find('.title_content .globe_icon');
			var title = $(elem).find('.title_content h1');
			var content = $(elem).find(".content_wrapper");
			$(globe).removeClass("active");
			$(title).removeClass("active");
			$(elem).removeClass("active");
			$(content).slideUp(300, "easeInOutQuad", function() {
				methods.resetHighlight(elem);
			});
			$(elem).find(".highlight_menu li.active").removeClass("active");

		},
		resetHighlight : function(elem) {

			var cols = $(elem).find(".column");
			$(cols).css({
				display : "block",
				opacity : 1
			});
		}
	}
	//plugin
	$.fn.jAccordion = function(method, options) {

		var defaults = {

		};
		a_options = $.extend({}, defaults, options);

		if(methods[method]) {
			return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
		} else if( typeof method === 'object' || !method) {
			return methods.init.apply(this, arguments);
		} else {
			$.error('Method ' + method + ' does not exist on jQuery.Menu');
		}

	};
})(jQuery);

