/* gnb Navigation */
$.fn.gnav = function (options) {
	var config = $.extend({
			items: '> li',
			sub: '> ul',
			subItems: '> li',
			selectedClass: 'selected',
			hasSubClass: 'has-sub',
			hasSubSelectedClass: 'selected',
			eventType: 'mouseover.gnav',
			mainIndex: -1,
			subIndex: -1
		}, options);

	return this.each(function () {
		var self = this,
			$self = $(self),
			$items = $self.find(config.items),
			$selected = (config.mainIndex > -1) && $items.eq(config.mainIndex);

		$items
			.each(function (i) {
				var $this = $(this),
					$sub = $this.find(config.sub),
					$subItems = $sub.length && $sub.find(config.subItems);

				if ($sub.length) {
					$this.addClass(config.hasSubClass);

					$.data(this, 'index.gnav', i);
					$.data(this, 'sub.gnav', $sub);
					$.data(this, 'subItems.gnav', $subItems);
				}
			})
			.bind('open.gnav', function () {
				var $item = $(this),
					$sub = $.data(this, 'sub.gnav');
					selectedClass = ($sub && $sub.length) ? config.hasSubSelectedClass : config.selectedClass;

				if ($selected && $selected.trigger) {
					$selected.trigger('close.gnav');
				}

				if ($sub && $sub.length) {
					$sub.slideDown(0, function () {
						$item
							.addClass(selectedClass)
							.data('isOpened.gnav', true);
						$selected = $item;
					});
				} else {
					$item
						.addClass(selectedClass)
						.data('isOpened.gnav', true);
					$selected = $item;
				}
			})
			.bind('close.gnav', function () {
				var $item = $(this),
					$sub = $.data(this, 'sub.gnav');
					selectedClass = ($sub && $sub.length) ? config.hasSubSelectedClass : config.selectedClass;

				if ($sub && $sub.length) {
					$sub.slideUp(200, function () {
						$item
							.removeClass(selectedClass)
							.data('isOpened.gnav', false);
					});
				} else {
					$item
						.removeClass(selectedClass)
						.data('isOpened.gnav', false);
				}
			})
			.bind(config.eventType, function (e) {
				if (!$.data(this, 'isOpened.gnav')) {
					if (e.type === 'mouseover') {
						e.preventDefault();
					}

					$(this).trigger('open.gnav');
				}
			});
		
		if ($selected && $selected.length) {
			$selected.trigger('open.gnav');
			if ($selected.data('subItems.gnav') && config.subIndex > -1) {
				$selected.data('subItems.gnav').eq(config.subIndex).addClass(config.selectedClass);
			}
		}
	});
};
/* Snb Navigation */
$.fn.nav = function (options) {
	var config = $.extend({
			items: '> li',
			sub: '> ul',
			subItems: '> li',
			selectedClass: 'selected',
			hasSubClass: 'has-sub',
			hasSubSelectedClass: 'selected',
			eventType: 'mouseover.nav',
			mainIndex: -1,
			subIndex: -1
		}, options);

	return this.each(function () {
		var self = this,
			$self = $(self),
			$items = $self.find(config.items),
			$selected = (config.mainIndex > -1) && $items.eq(config.mainIndex);

		$items
			.each(function (i) {
				var $this = $(this),
					$sub = $this.find(config.sub),
					$subItems = $sub.length && $sub.find(config.subItems);

				if ($sub.length) {
					$this.addClass(config.hasSubClass);

					$.data(this, 'index.nav', i);
					$.data(this, 'sub.nav', $sub);
					$.data(this, 'subItems.nav', $subItems);
				}
			})
			.bind('open.nav', function () {
				var $item = $(this),
					$sub = $.data(this, 'sub.nav');
					selectedClass = ($sub && $sub.length) ? config.hasSubSelectedClass : config.selectedClass;

				if ($selected && $selected.trigger) {
					$selected.trigger('close.nav');
				}

				if ($sub && $sub.length) {
					$sub.slideDown(0, function () {
						$item
							.addClass(selectedClass)
							.data('isOpened.nav', true);
						$selected = $item;
					});
				} else {
					$item
						.addClass(selectedClass)
						.data('isOpened.nav', true);
					$selected = $item;
				}
			})
			.bind('close.nav', function () {
				var $item = $(this),
					$sub = $.data(this, 'sub.nav');
					selectedClass = ($sub && $sub.length) ? config.hasSubSelectedClass : config.selectedClass;

				if ($sub && $sub.length) {
					$sub.slideUp(150, function () {
						$item
							.removeClass(selectedClass)
							.data('isOpened.nav', false);
					});
				} else {
					$item
						.removeClass(selectedClass)
						.data('isOpened.nav', false);
				}
			})
			.bind(config.eventType, function (e) {
				if (!$.data(this, 'isOpened.nav')) {
					if (e.type === 'mouseOver') {
						e.preventDefault();
					}

					$(this).trigger('open.nav');
				}
			});
		
		if ($selected && $selected.length) {
			$selected.trigger('open.nav');
			if ($selected.data('subItems.nav') && config.subIndex > -1) {
				$selected.data('subItems.nav').eq(config.subIndex).addClass(config.selectedClass);
			}
		}
	});
};

(function () {
	var window = this,
		document = window.document,
		documentElement = document.documentElement,
		$ = window.jQuery,
		$document = $(document),
		msie = $.browser.msie && parseFloat($.browser.version);

	function initAllMenu() {
		var $allMenuLayer = $('#portLayerA'),
			$allMenuLayer2 = $('#portLayerA2'),
			$allMenuLayer3 = $('#portLayerA3'),
			$allMenuLayer4 = $('#portLayerA4'),
			$allMenuLayer5 = $('#portLayerA5'),
			$toggleButton = $('div#portMenu > ul > li.menu1 > a'),
			$toggleButton2 = $('div#portMenu > ul > li.menu2 > a'),
			$toggleButton3 = $('div#portMenu > ul > li.menu3 > a'),
			$toggleButton4 = $('div#portMenu > ul > li.menu4 > a'),
			$toggleButton5 = $('div#portMenu > ul > li.menu5 > a'),
			$closeButton = $('div.detail-contents > a.close');
		
		/* menu1 */
		$toggleButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideToggle(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu2 */
		$toggleButton2.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer2.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu3 */
		$toggleButton3.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer3.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu4 */
		$toggleButton4.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer4.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu5 */
		$toggleButton5.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer5.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
		});

		$closeButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
	}
	function initAllMenuB() {
		var $allMenuLayer = $('#portLayerB'),
			$allMenuLayer2 = $('#portLayerB2'),
			$allMenuLayer3 = $('#portLayerB3'),
			$allMenuLayer4 = $('#portLayerB4'),
			$allMenuLayer5 = $('#portLayerB5'),
			$toggleButton = $('div#portMenu2 > ul > li.menu1 > a'),
			$toggleButton2 = $('div#portMenu2 > ul > li.menu2 > a'),
			$toggleButton3 = $('div#portMenu2 > ul > li.menu3 > a'),
			$toggleButton4 = $('div#portMenu2 > ul > li.menu4 > a'),
			$toggleButton5 = $('div#portMenu2 > ul > li.menu5 > a'),
			$closeButton = $('div.detail-contents > a.close');
		
		/* menu1 */
		$toggleButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideToggle(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu2 */
		$toggleButton2.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer2.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu3 */
		$toggleButton3.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer3.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu4 */
		$toggleButton4.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer4.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu5 */
		$toggleButton5.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer5.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
		});

		$closeButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
	}
	function initAllMenuC() {
		var $allMenuLayer = $('#portLayerC'),
			$allMenuLayer2 = $('#portLayerC2'),
			$allMenuLayer3 = $('#portLayerC3'),
			$allMenuLayer4 = $('#portLayerC4'),
			$allMenuLayer5 = $('#portLayerC5'),
			$toggleButton = $('div#portMenu3 > ul > li.menu1 > a'),
			$toggleButton2 = $('div#portMenu3 > ul > li.menu2 > a'),
			$toggleButton3 = $('div#portMenu3 > ul > li.menu3 > a'),
			$toggleButton4 = $('div#portMenu3 > ul > li.menu4 > a'),
			$toggleButton5 = $('div#portMenu3 > ul > li.menu5 > a'),
			$closeButton = $('div.detail-contents > a.close');
		
		/* menu1 */
		$toggleButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideToggle(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu2 */
		$toggleButton2.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer2.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu3 */
		$toggleButton3.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer3.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu4 */
		$toggleButton4.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer4.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
		/* menu5 */
		$toggleButton5.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer5.slideToggle(300);
			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
		});

		$closeButton.bind('click', function (e) {
			e.preventDefault();

			$allMenuLayer.slideUp(300);
			$allMenuLayer2.slideUp(300);
			$allMenuLayer3.slideUp(300);
			$allMenuLayer4.slideUp(300);
			$allMenuLayer5.slideUp(300);
		});
	}
	/* On DOM Ready */
	$document.ready(function () {
		/* Selectbox */
		initAllMenu();
		initAllMenuB()
		initAllMenuC()
	});
}());



