﻿var GUI = (function() {
	function init() {
		initMediazone();
		initPlugins();
	}
	
	function initMediazone() {
		var screenshotList = $('#mzScreenshotList li');
		if ( screenshotList.length ) {
			var link, prod_id = 0;
			screenshotList.each( function( index, item ) {
				if ( (index+1) % 6 == 0 ) $(item).css("marginRight", 0 );
				
				link = $('a', item);
				if ( index == 0 ) {
					var prod_id_reg = /prod_id=([0-9]+)$/i;
					var matches = prod_id_reg.exec(link.attr('href'));
					if ( matches[1] ) prod_id = matches[1];
				}
				link.click( function() {
					var clickindex = $('#mzScreenshotList a').index(this)+1;
					PopupManager.OpenScreenViewer( prod_id, clickindex);
					return false;
				});
			});
		}
	}
	
	function initPlugins() {
		/**
		 * mediazone related vidoes
		 */
		$.LeviTip.addSourceHandler({
			type: 'mediazone',
			get: function(levitip) {
				var $retEl = [];
				var $title = $('strong,em', levitip.target);
				if ( $title.length )
					$retEl = $title.clone(true).show();
				return $retEl;
			}
		});		
		
		$("#relatedVideosList").jCarouselLite({
			btnNext: "#pagernavNext",
			btnPrev: "#pagernavPrev",
			mouseWheel: true,
			visible: 4,
			easing: "easeInOutSine",
			speed: 400,
			scroll: 1,
			circular: false,
			afterEnd: function(a) {
				$('#pagernavPrev, #pagernavNext').removeClass('pagerPrev-disabled').removeClass('pagerNext-disabled');
				if (a.index($('#relatedVideosList').find('li:first')) >= 0)
					$('#pagernavPrev').addClass('pagerPrev-disabled');
				if (a.index($('#relatedVideosList').find('li:last')) >= 0)
					$('#pagernavNext').addClass('pagerNext-disabled');
			}
		});
		if ( $('#relatedVideosList li').length < 4 )
			$('#pagernavNext').addClass('pagerNext-disabled');
		
		/* mediazone tooltips */
		$('#relatedVideosList li').leviTip({
			sourceType: 'mediazone',
			addClass: 'mzrelatedvideostip'
		});
		
		$('.scrollPane').jScrollPane();
	}

	return {
		init: init
	}
})();

jQuery(function() {
	GUI.init();
});