$(document).ready(function(){
	/*
	$('#gallery').gallery({
		duration: 600,
		autoRotation: 5000,
		listOfSlides: '.gallery-list>li',
		swicherBuilder: 'switcher',
		switcher: true
	});
	*/
	
	// new Gallery
	jQuery('div.gallery').fadeGallery({
		listSelector: 'ul.gallery-list > li',
		navHolder:		'div.switcher',
		navCreate:		true,
		thumbsSelector: 'li',
		swichTime:		14000,
		fadeIEfix:		true,
		delay:				900,
		onChange:			null
	});

	setTimeout(initTabs, 100);
	initPopups();
	
	//updateSendMe($);
	lookbook($);
	//tooltip($);
	
});

function initTabs(){
	jQuery('ul.tabset').jqueryTabs()
}


/*fadeGallery*/
jQuery.fn.fadeGallery = function(_options){
	var _options = jQuery.extend({
		listSelector: '> li',
		navHolder:			false,
		navCreate:			false,
		thumbsSelector: 'li',
		prev:						'a.prev',
		next:						'a.next',
		swichTime:			false,
		delay:					900,
		fadeIEfix:			false,
		onChange:				null
	},_options);
	
	return this.each(function(){
		if(jQuery.browser.msie && (parseInt(jQuery.browser.version) <= 7)){
			var _msie			= true;
		}
		
		var _swichTime = _options.swichTime;
		var _d 					= (_options.fadeIEfix) ? (jQuery.browser.msie ? 0 : _options.delay) : (_options.delay);
		var _this 			= jQuery(this);
		var _list 			= jQuery(_options.listSelector, _this);
		var _linksHold 	= jQuery(_options.navHolder, _this);
		var _controller	= jQuery('.carouselControl');
		var _paused			= false;

		if(_options.navCreate){
			var _htmlNav ='<ul>';
			for(var i=0; i<_list.length; i++) {
				_htmlNav += '<li><a href="#" title="View Slide ' + (i+1) + '">'+(i+1)+'</a></li>';
			}
			_htmlNav +='</ul>';
			_linksHold.html(_htmlNav);
		}
		if(_options.navHolder) var _links = jQuery(_options.thumbsSelector, _linksHold);
		else var _links = jQuery(_options.thumbsSelector, _this);
		var _btnPrev = jQuery(_options.prev , _this);
		var _btnNext = jQuery(_options.next , _this);
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _t;
		_list.removeClass('active').css({display: 'none', opacity: 0}).eq(_a).addClass('active').css({display: 'block', opacity: 1}).css('opacity', 'auto');
		_links.eq(_a).addClass('active');		
		//Cufon.replace('.switcher > ul > li > a', { fontFamily: 'DIN', hover: true });

		var flvCount			= 0;
		jQuery('.flvPlayer').each(function(){
			flvCount 		++;
			
			var title							= $(this).attr('title');
			var replaceDiv 				= 'flvPlayer'+flvCount;
				var xiSwfUrlStr 		= "/store/video/player-licensed.swf";
				
				var flashvars 			= {};
					flashvars.file		= "/store/video/"+title+".flv";
					flashvars.image		= "/store/css/images/"+title+".jpg";
					flashvars.skin		= "/store/video/modieus.swf";
				var params 					= {};
					params.scale			= "default";
					params.quality 		= "high";
					params.wmode			= "window";
				var attributes 			= {};
					attributes.id 		= $(this).attr('title');
					attributes.name 	= $(this).attr('title');
					swfobject.embedSWF(
						"/store/video/player-licensed.swf", 	// SWF source
						replaceDiv, 	// replacement div ID
						990, 		// dynamic Width
						550, 		// dynamic Height
						"9.0.0", 				// Flash version
						xiSwfUrlStr,			// SWF source...again...
						flashvars, 
						params, 
						attributes
						
						);
		});

		autoSwitch();
					
		function autoSwitch(){
			if (_swichTime){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, _swichTime);
			}
		}
		if (_btnPrev){
			_btnPrev.click(function(){
				var _prevItem = 0;
				if (_a > 0) _prevItem = _a-1;
				else _prevItem = _list.length-1;
				changeEl(_prevItem);
				return false;
			})
		}
		if (_btnNext){
			_btnNext.click(function(){
				var _nextItem = 0;
				if (_a < _list.length - 1) _nextItem = _a+1;
				else _nextItem = 0;
				changeEl(_nextItem);
				return false;
			})
		}
		if(_links){
			_links.click(function(){
				var _ind = _links.removeClass('active').index(jQuery(this).addClass('active'));
				_paused = true;
				changeEl(_ind);
				return false;
			})
		}
		if(_controller){
			_controller.click(function(){
				changeEl(0);
			});
		}
		function changeEl(_ind){
			if(_t){
				clearTimeout(_t);
			}
			if(_list.is(':animated')) _list.stop(true, true);
			if(_ind != _a){
				if(bPauseCarousel == false){
					_links.removeClass('active').eq(_ind).addClass('active');
					_links.eq(_ind).addClass('active');
					if(_msie === true){
						_list.eq(_a).removeClass('active');
						_list.eq(_a).css('display', 'none');
						_list.eq(_ind).addClass('active');
						_list.eq(_ind).css('display', 'block');
						_list.eq(_ind).css('opacity', 'auto');
						_a = _ind;
						if(_paused == false){
							
							autoSwitch();
						}
						if (jQuery.isFunction(_options.onChange)) {
							_options.onChange.apply(_this);
						};					
					}else{
						_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:_d, complete: function(){
								jQuery(this).css({display:'none'})
						}});
						_list.eq(_ind).addClass('active').css({opacity: 0, display:'block'}).animate({opacity: 1}, {queue:false, duration:_d,complete:function(){
							jQuery(this).css('opacity', 'auto');
							_a = _ind;
							if(_paused == false){
								
								autoSwitch();
							}
							if (jQuery.isFunction(_options.onChange)) {
								_options.onChange.apply(_this);
							};
						}});
					}
					
				}else{
					
					autoSwitch();
				}
			}
		}
	});
};




// jquery tabs plugin
jQuery.fn.jqueryTabs = function(_options){
	// default options
	var _options = jQuery.extend({
		addToParent:false,
		holdHeight:false,
		activeClass:'active',
		tabLinks:'a.tab',
		fadeSpeed:0,
		event:'click'
	},_options);

	return this.each(function(){
		var _holder = jQuery(this);
		var _fadeSpeed = _options.fadeSpeed;
		var _activeClass = _options.activeClass;
		var _addToParent = _options.addToParent;
		var _holdHeight = _options.holdHeight;
		var _tabLinks = jQuery(_options.tabLinks, _holder);
		var _tabset = (_addToParent ? _tabLinks.parent() : _tabLinks);
		var _event = _options.event;
		var _animating = false;

		// tabs init
		_tabLinks.each(function(){
			var _tmpLink = jQuery(this);
			var _tmpTab = jQuery(_tmpLink.attr('href'));
			var _classItem = (_addToParent ? _tmpLink.parent() : _tmpLink);
			if(_tmpTab.length) {
				if(_classItem.hasClass(_activeClass)) _tmpTab.show();
				else _tmpTab.hide();
			}
		});

		// tab switcher
		function switchTab(_switcher) {
			if(!_animating) {
				var _link = jQuery(_switcher);
				var _newItem = (_addToParent ? _link.parent() : _link);
				var _newTab = jQuery(_link.attr('href'));
				if(_newItem.hasClass(_activeClass)) return;

				var _oldItem = jQuery(_addToParent ? _tabset : _tabLinks).filter('.'+_activeClass);
				var _oldTab = jQuery(jQuery(_addToParent ? _oldItem.children('a') : _oldItem).attr('href'));
				if(_newTab.length) {
					_animating = true;
					if(_oldItem.length) {
						_newItem.addClass(_activeClass);
						_oldItem.removeClass(_activeClass);

						var _parent = _oldTab.parent();
						if(_holdHeight) _parent.css({height:_parent.height()});

						_oldTab.fadeOut(_fadeSpeed,function(){
							_newTab.fadeIn(_fadeSpeed,function(){
								_animating = false;
							});
							if(_holdHeight) _parent.css({height:'auto'});
						});
					} else {
						_newItem.addClass(_activeClass);
						_newTab.fadeIn(_fadeSpeed,function(){
							_animating = false;
						});
					}
				}
			}
		}

		// control
		_tabLinks.each(function(){
			jQuery(this).bind(_event,function(){
				switchTab(this);
				return false;
			});
		});
	});
}

// popups function
function initPopups() {
	var _zIndex = 1000;
	var _fadeSpeed = 350;
	var _faderOpacity = 0.65;
	var _faderBackground = '#000';
	var _faderId = 'lightbox-overlay';
	var _closeLink = 'a.btn-close, a.close, a.cancel';
	var _fader;
	var _lightbox = null;
	var _ajaxClass = 'ajax-load';
	var _openers = jQuery('a.open-popup');
	var _page = jQuery(document);
	var _minWidth = jQuery('body > div:eq(0)').outerWidth();
	var _scroll = false;

	// init popup fader
	_fader = jQuery('#'+_faderId);
	if(!_fader.length) {
		_fader = jQuery('<div />');
		_fader.attr('id',_faderId);
		jQuery('body').append(_fader);
	}
	_fader.css({
		opacity:_faderOpacity,
		backgroundColor:_faderBackground,
		position:'absolute',
		overflow:'hidden',
		display:'none',
		top:0,
		left:0,
		zIndex:_zIndex
	});

	// IE6 iframe fix
	if(jQuery.browser.msie && jQuery.browser.version < 7) {
		if(!_fader.children().length) {
			var _frame = jQuery('<iframe src="javascript:false" frameborder="0" scrolling="no" />');
			_frame.css({
				opacity:0,
				width:'100%',
				height:'100%'
			});
			var _frameOverlay = jQuery('<div>');
			_frameOverlay.css({
				top:0,
				left:0,
				zIndex:1,
				opacity:0,
				background:'#000',
				position:'absolute',
				width:'100%',
				height:'100%'
			});
			_fader.empty().append(_frame).append(_frameOverlay);
		}
	}

	// lightbox positioning function
	function positionLightbox() {
		if(_lightbox) {
			var _windowHeight = jQuery(window).height();
			var _windowWidth = jQuery(window).width();
			var _lightboxWidth = _lightbox.outerWidth();
			var _lightboxHeight = _lightbox.outerHeight();
			var _pageHeight = _page.height();

			if (_windowWidth < _minWidth) _fader.css('width',_minWidth);
				else _fader.css('width','100%');
			if (_windowHeight < _pageHeight) _fader.css('height',_pageHeight);
				else _fader.css('height',_windowHeight);

			_lightbox.css({
				position:'absolute',
				zIndex:(_zIndex+1)
			});

			// vertical position
			if (_windowHeight > _lightboxHeight) {
				if (jQuery.browser.msie && jQuery.browser.version < 7) {
					_lightbox.css({
						position:'absolute',
						top: parseInt(jQuery(window).scrollTop()) + (_windowHeight - _lightboxHeight) / 2
					});
				} else {
					_lightbox.css({
						position:'fixed',
						top: (_windowHeight - _lightboxHeight) / 2
					});
				}
			} else {
				var _faderHeight = _fader.height();
				if(_faderHeight < _lightboxHeight) _fader.css('height',_lightboxHeight);
				if (!_scroll) {
					if (_faderHeight - _lightboxHeight > parseInt(jQuery(window).scrollTop())) {
						_faderHeight = parseInt(jQuery(window).scrollTop())
						_scroll = _faderHeight;
					} else {
						_scroll = _faderHeight - _lightboxHeight;
					}
				}
				_lightbox.css({
					position:'absolute',
					top: _scroll
				});
			}

			// horizontal position
			if (_fader.width() > _lightbox.outerWidth()) _lightbox.css({left:(_fader.width() - _lightbox.outerWidth()) / 2});
			else _lightbox.css({left: 0});
		}
	}

	// show/hide lightbox
	function toggleState(_state) {
		if(!_lightbox) return;
		if(_state) {
			_fader.fadeIn(_fadeSpeed,function(){
				_lightbox.fadeIn(_fadeSpeed);
			});
			_scroll = false;
			positionLightbox();
		} else {
			_lightbox.fadeOut(_fadeSpeed,function(){
				_fader.fadeOut(_fadeSpeed);
				_scroll = false;
			});
		}
	}

	// popup actions
	function initPopupActions(_obj) {
		if(!_obj.get(0).jsInit) {
			_obj.get(0).jsInit = true;
			// close link
			_obj.find(_closeLink).click(function(){
				_lightbox = _obj;
				toggleState(false);
				return false;
			});
		}
	}

	// lightbox openers
	_openers.each(function(){
		var _opener = jQuery(this);
		var _target = _opener.attr('href');

		// popup load type - ajax or static
		if(_opener.hasClass(_ajaxClass)) {
			_opener.click(function(){
				// ajax load
				if(jQuery('div[rel*="'+_target+'"]').length == 0) {
					jQuery.ajax({
						url: _target,
						type: "POST",
						dataType: "html",
						success: function(msg){
							// append loaded popup
							_lightbox = jQuery(msg);
							_lightbox.find('img').load(positionLightbox)
							_lightbox.attr('rel',_target).hide().css({
								position:'absolute',
								zIndex:(_zIndex+1),
								top: -9999,
								left: -9999
							});
							jQuery('body').append(_lightbox);

							// init js for lightbox
							initPopupActions(_lightbox);

							// show lightbox
							toggleState(true);
						},
						error: function(msg){
							alert('AJAX error!');
							return false;
						}
					});
				} else {
					_lightbox = jQuery('div[rel*="'+_target+'"]');
					toggleState(true);
				}
				return false;
			});
		} else {
			if(jQuery(_target).length) {
				// init actions for popup
				var _popup = jQuery(_target);
				initPopupActions(_popup);
					// open popup
					_opener.click(function(){
					if(_lightbox) {
						_lightbox.fadeOut(_fadeSpeed,function(){
							_lightbox = _popup.hide();
							toggleState(true);
						})
					} else {
						_lightbox = _popup.hide();
						toggleState(true);
					}
					return false;
				});
			}
		}
	});

	// event handlers
	jQuery(window).resize(positionLightbox);
	jQuery(window).scroll(positionLightbox);
	jQuery(document).keydown(function (e) {
		if (!e) evt = window.event;
		if (e.keyCode == 27) {
			toggleState(false);
		}
	})
	_fader.click(function(){
		if(!_fader.is(':animated')) toggleState(false);
		return false;
	})

}

function updateSendMe($){
	var prodId 	= jQuery("input#prod_id").val();
	var form		= jQuery("form[name='product_form_" + prodId +"'] input");
	var qty			= jQuery("input#qty_count_" + prodId);
	var color		= jQuery("input#option_" + prodId +"_230").val();
			//alert(color);
		 	color		= jQuery("form :radio");
			color		= color.find(":checked").val();
			//alert(color);
	jQuery("a.cm-increase").click(function(){
		qtyCount		= Math(qty.val()+1);
		jQuery(".sendMe .qty").text(qtyCount);
	});
	jQuery("a.cm-decrease").click(function(){
		qtyCount		= (qty.val() > 0)? Math(qty.val()-1) : qty.val();
		jQuery(".sendMe .qty").text(qtyCount);
	});

	jQuery(".sendMe .qty").text("1");
	jQuery(".sendMe .color").text(color);
}

function lookbook($){
	if(jQuery('div.lb-navigation').length){
		jQuery('div.lb-navigation').css({'width' : '510px', 'float' : 'left'});
		jQuery('div.slideshow').css('display', 'block');
		jQuery('ul.thumbs li').css('display', 'block');
		var onMouseOutOpacity = 0.90;
		jQuery('#thumbs ul.thumbs li img').opacityrollover({
				mouseOutOpacity:   onMouseOutOpacity,
				mouseOverOpacity:  1.0,
				fadeSpeed:         'fast',
				exemptionSelector: '.selected'
		});
		var gallery = jQuery('#thumbs').galleriffic({
			delay:                     2500,
			numThumbs:                 12,
			preloadAhead:              10,
			enableTopPager:            true,
			imageContainerSel:         '#slideshow',
			controlsContainerSel:      '#controls',
			captionContainerSel:       '#caption',
			loadingContainerSel:       '#loading',
			renderSSControls:          false,
			renderNavControls:         false,
			nextPageLinkText:          '',
			prevPageLinkText:          '',
			enableHistory:             false,
			autoStart:                 false,
			syncTransitions:           true,
			onTransitionOut:           undefined,
			onTransitionIn:            undefined,
			defaultTransitionDuration: 900,
			onSlideChange:             function(prevIndex, nextIndex) {
					this.find('ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);
			},
			onPageTransitionOut:       function(callback) {
					this.fadeTo('fast', 0.0, callback);
			},
			onPageTransitionIn:        function() {
					this.fadeTo('fast', 1.0);
				}
		});
	}
}

/*

function tooltip($){			
		xOffset = 10;
		yOffset = 20;				

	jQuery(".show-tooltip").hover(function(e){		
		this.t = this.alt;
		this.s = this.src;
		this.title = "";									  
		if(this.t != ""){
			jQuery("body").append("<p id='tooltip'>"+ this.t +"<br /><img src='"+ this.s +"'/></p>");
			jQuery("#tooltip")
				.css("top",(e.pageY - xOffset) + "px")
				.css("left",(e.pageX + yOffset) + "px")
				.fadeIn("fast");	
			}
		},

	function(){
		this.title = this.t;		
		jQuery("#tooltip").remove();
    });	

	jQuery(".show-tooltip").mousemove(function(e){
		jQuery("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			

};


*/




