
/* =============== local navigation status change ============================= */

jQuery(function() {
	var niLnPrefix = 'nilid';
	var niLnIndex = '[0-9]{2}';
	var niLnStayString = 'Top';
	var niLnRegEx = niLnPrefix + niLnIndex;

	var $niLnCtrlArg = $('body').attr('class');

	var $niLnNode = '#ncgs-localNav > dd > ul > li'

	if($niLnCtrlArg.indexOf(niLnPrefix) >= 0) {
		var $niLnId = $niLnCtrlArg.match(niLnRegEx);
		var $niLnIdStay = $niLnCtrlArg.indexOf(niLnStayString, 0) >= 0;
	
		$($niLnNode).each(function() {
			var $niLnTarget = $(this).attr('id');
			var $niLnReplaceTarget = $(this).find('a');

			if($niLnTarget == $niLnId) {
				$(this).contents().wrap('<em></em>');
				if($niLnIdStay) {
					$niLnReplaceTarget.replaceWith($niLnReplaceTarget.contents());
				}
			}
		});
	}

	$('#ncgs-localNav > dd > ul > li:first').addClass('first')
});


/* =============== sub navigation status change ============================= */

jQuery(function($) {
	var pidBase = $('body').attr('class');
	var pidFnd = new RegExp('nisid[0-9]*');
	var pid = new String(pidBase.match(pidFnd));
	var selTargetId = 'li#' + pid;
	var targetLi = $('#ncgs-subNav ' + selTargetId);
	if(targetLi.parents('ul').size() > 1) {
		targetLi.parents('ul').addClass('ncgs-subNav-open');
		targetLi.parents('ul').prev('a').wrap('<em></em>');
	}

	var interimStayLinkFlag =
		location.href.indexOf('\/lineup\/lens\/list.htm') > 0 ||
		location.href.indexOf('\/lineup\/lens\/ix\/') > 0 ||
		location.href.indexOf('\/lineup\/lens\/mf\/') > 0 ||
		location.href.indexOf('\/lineup\/lens\/singlefocal\/') > 0 ||
		location.href.indexOf('\/lineup\/lens\/specoalpurpose\/') > 0 ||
		location.href.indexOf('\/lineup\/lens\/teleconverters\/') > 0 ||
		location.href.indexOf('\/lineup\/lens\/zoom\/') > 0
	? true : false;

	if(interimStayLinkFlag) {
		$('#ncgs-subNav').find(selTargetId).addClass('noLower');
		var targetItem = $('#ncgs-subNav').find(selTargetId + ' > a');
		targetItem.wrap('<em></em>');
	} else {
		var targetItem = $('#ncgs-subNav').find(selTargetId + ' > a');
		targetItem.replaceWith('<em>' + targetItem.text() + '</em>');
	}

	$('#ncgs-subNav ul:first > li:last').addClass('last');
});

/* =============== additional behaviors for the pseudo dialog =============== */

jQuery(function($) {
	if (!BAJL.PseudoDialog) return;
	
	var pseudoDialog = BAJL.Singleton(BAJL.PseudoDialog);
	var $pdBaseNode  = $('#' + BAJL.settings.PseudoDialog.id);

	// prevent flickering thumbnails in the dialog (old IE only)
	if (BAJL.ua.isIE && BAJL.ua.documentMode < 8) {
		pseudoDialog.addCallback('onOpen', function() { $pdBaseNode.css('border-bottom', '1px solid').css('border-bottom', 'none') });
	}

	// click event handler (for 'pdialog-A01')
	$pdBaseNode.find('div.pdialog-A01').live('click', function(e) {

		// close the dialog when user clicked on the space in 'dialog-nav' cells.
		if ($(e.target).is('td.pdialog-nav')) {
			pseudoDialog.close();
		}

		// open/close exif information panel in the dialog.
		var $button = $(e.target).closest('dl.pdialog-panel-control dd');
		var $panel  = $button.closest('div.slide-unit').find('div.pdialog-image-exif');
		
		if ($panel.BAJL_HasElement() && $button.BAJL_HasElement()) {
			e.preventDefault();
			$panel.BAJL_TogglePanel($button);
			$button.triggerHandler('click');
		}
	});
});

jQuery(function($) {
	$(this).find('#BAJLPseudoDialog').prepend('<a href="#" class="BAJLPseudoDialogCloseBtn "><img src="/common/img/button_close_01.png" width="61" height="23" alt="Close" /></a>');
});

/* =============== flatten heights of index blocks =============== */

jQuery(function($) {
	$('div.index-E01 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div.grid-article-A01 > div.grid-group').each(function() {
		$(this).find('div.grid-unit').BAJL_FlatHeights();
	});
	$('div.grid-article-B01 > div.grid-group').each(function() {
		$(this).find('div.grid-unit').BAJL_FlatHeights();
	});
	$('div.index-A01 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div.index-A02 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div.index-B01 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div.index-C01 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div.index-C01 > div.index-group').each(function() {
		$(this).find('div.index-unit').BAJL_FlatHeights();
	});
	$('div#lens-category-index-A01').each(function() {
		$(this).find('div.lens-category-unit').BAJL_FlatHeights();
	});
	$('div.panel-header-tab > ul').each(function() {
		$(this).find('li a > span > span').BAJL_FlatHeights();
	});
	$('div.sub-tab-content > ul').each(function() {
		$(this).find('li > * > span > span > span').BAJL_FlatHeights();
	});
	$('div.index-contents-B01').each(function() {
		$(this).find('dl.link-section-A02').BAJL_FlatHeights();
	});
	$('div.index-contents-B01').each(function() {
		$(this).find('dl.link-section-02').BAJL_FlatHeights();
	});

});

/* =============== Pseudo Dialog Saffari(in OS X 10.6) Bug Fix =============== */

jQuery(function($) {
	if (BAJL.ua.isSafari && BAJL.PseudoDialog) {
		var pdialog = BAJL.Singleton(BAJL.PseudoDialog);
		
		if (pdialog.contentFrame.frame) {
			pdialog.addCallback('onOpen', function() {
				var $body   = $(pdialog.contentFrame.frame.document.body);
				var $object = $body.find('object, embed');
				
				if ($object.size() != 0) {
					$body.hide();
					new BAJL.Timeout(function() { $body.show() }, 1);
				}
			});
		}
	}
});
