﻿var GUI = (function() {
	function init() {
		initMediazone();
		initPlugins();
	}
	
	function initMediazone() {
		var screenshotList = jQuery('#mzScreenshotList li');
		if ( screenshotList.length ) {
			var link, prod_id = 0;
			screenshotList.each( function( index, item ) {
				if ( (index+1) % 6 == 0 ) jQuery(item).css("marginRight", 0 );
				
				link = jQuery('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 = jQuery('#mzScreenshotList a').index(this)+1;
					PopupManager.OpenScreenViewer( prod_id, clickindex);
					return false;
				});
			});
		}
	}
	
	function initPlugins() {
		/**
		 * mediazone related vidoes
		 */
		jQuery.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;
			}
		});		
		
		if ( jQuery('#relatedVideosList li').length > 0 ) {
			jQuery("#relatedVideosList").jCarouselLite({
				btnNext: "#pagernavNext",
				btnPrev: "#pagernavPrev",
				mouseWheel: true,
				visible: 4,
				easing: "easeInOutSine",
				speed: 400,
				scroll: 1,
				circular: false,
				afterEnd: function(a) {
					jQuery('#pagernavPrev, #pagernavNext').removeClass('pagerPrev-disabled').removeClass('pagerNext-disabled');
					if (a.index(jQuery('#relatedVideosList').find('li:first')) >= 0)
						jQuery('#pagernavPrev').addClass('pagerPrev-disabled');
					if (a.index(jQuery('#relatedVideosList').find('li:last')) >= 0)
						jQuery('#pagernavNext').addClass('pagerNext-disabled');
				}
			});
		}
		if ( jQuery('#relatedVideosList li').length < 4 )
			jQuery('#pagernavNext').addClass('pagerNext-disabled');
		
		/* mediazone tooltips */
		jQuery('#relatedVideosList li').leviTip({
			sourceType: 'mediazone',
			addClass: 'mzrelatedvideostip'
		});
		
		jQuery('.scrollPane').jScrollPane();
	}

	return {
		init: init
	}
})();

jQuery(function() {
	GUI.init();
});