var $j = jQuery.noConflict();
var iScrollBarWidth = 0;
var iWidthContent = 7;

/*
$j(function(){
	if ($j.browser.mozilla && (parseFloat($j.browser.version) < 1.9)) {
    		$j('#topnav').addClass('noopacity');
	}
});
*/

var iScrollHomeImagesCounter = 0;
var iScrollHomeImagesPosition = 0;
var iScrollHomeImagesTimer = 5000;
var iScrollHomeImagesFadeIn = 100;
var iScrollHomeImagesFadeOut = 500;
var iScrollHomeImagesStop = 0;
var iScrollHomeImagesStopOnHover = 0;
var tScrollHomeImages = null;
var videoPlayerOn = 0;

/*
$.fn.wait = function(time, type) {
        time = time || 1000;
        type = type || "fx";
        return this.queue(type, function() {
            var self = this;
            setTimeout(function() {
                $(self).dequeue();
            }, time);
        });
    };
*/

function scrollHomeInit() {

	$j('#home_scroller .scroller_item').each(function(index,itm){
		var item = $j(itm);
		item.hide();
		item.find('.left img').hide();
		item.find('.left img:first').show();
	});

	if (  iScrollHomeImagesStopOnHover )
	{
		$j("#home_scroller").mouseover(function(){
			clearTimeout(tScrollHomeImages);
			iScrollHomeImagesStop = 1;
		}).mouseout(function(){
			clearTimeout(tScrollHomeImages);		
			if(videoPlayerOn==0){
				iScrollHomeImagesStop = 0;
				tScrollHomeImages = setTimeout(scrollHomeImages, iScrollHomeImagesTimer);
			}
		});
	}
	$j('#home_scroller .scroller_item:first').fadeIn(function(){
		clearTimeout(tScrollHomeImages);
		tScrollHomeImages = setTimeout(scrollHomeImages, iScrollHomeImagesTimer);
	});
	homeContentUnderBanner();
	showBannerAboveContent();

}

function scrollHomeImages() {
	clearTimeout(tScrollHomeImages);
	
	if ( iScrollHomeImagesStop || $j("#home_scroller .scroller_item").length<2  || videoPlayerOn == 1) {
		return;
	}
	
	var visItem = $j("#home_scroller .scroller_item:visible");	
	var visImage = visItem.find(".left img:visible");
	var nextImg = visImage.next();
	
	//console.info(nextImg);
	if(nextImg.length){
		visImage.css('z-index',101);
		nextImg.css('z-index',100);
		nextImg.show();
		visImage.fadeOut(function(){
			nextImg.css('z-index',101);
			visImage.css('z-index',0);
			tScrollHomeImages = setTimeout(scrollHomeImages, iScrollHomeImagesTimer);
		});
	} else {
		var nextItem = visItem.next();
		if(!nextItem.length){
			nextItem = $j("#home_scroller .scroller_item:first");
		}
		if(visItem[0] == nextItem[0]){
			visItem.find(".left img").hide();
			visItem.find(".left img:first").show();
			tScrollHomeImages = setTimeout(scrollHomeImages, iScrollHomeImagesTimer);
			return;
		}
		
		visItem.css('z-index',101);
		nextItem.css('z-index',100);
		nextItem.show();
		visItem.fadeOut(function(){
			nextItem.css('z-index',101);
			visItem.css('z-index',0);
			visItem.find(".left img").hide();
			visItem.find(".left img:first").show();
			tScrollHomeImages = setTimeout(scrollHomeImages, iScrollHomeImagesTimer);
		});
	}
	
}

function homeContentUnderBanner()
{

	$j('#home_banners .item .content').each(function(){
		if ( $j(this).html()!='' )
		{
			$j(this).parent('.item').children('a').attr('href', '#').bind('click', function(e){
				$j(this).parent('.item').children('.content').toggleClass('content-visible');
				$j(this).css('display', 'none');
				return false;
			});

			if ( $j(this).find('.tx-powermail-pi1_mandatory').length || $j(this).find('.tx-powermail-pi1_thx').length )
			{
				$j(this).toggleClass('content-visible');
				$j(this).parent('.item').children('a').css('display', 'none');
			}
		}
	});

}

function showBannerAboveContent()
{

	$j('#powermaildiv_uid3 label').append(' /');
	$j('input.powermail_reset').click(function(){
		$j(this).parents('.item').children('.content').toggleClass('content-visible');
		$j(this).parents('.item').children('a').css('display', 'block');
		return false;
	});

}

function applyFunctionalitySale()
{

	$j('.sale-container').each(function(){
		$j(this).find('.details-content .image img:gt(0)').hide();
		$j(this).find('.images-container .images').each(function(){
			var iLastVal = 0;

			//wrap IMG with A tag
			$j(this).find('img').wrap('<a href="#" />');

			//apply A tag functionality
			$j(this).find('a').each(function(i){
				iLastVal = i;

				$j(this).attr('class', i).click(function(i){
					var iActive = parseInt($j(this).attr('class'));

					$j(this).parents('.sale-container:eq(0)').find('.image img').each(function(i){
						if ( i==iActive )
						{
							$j(this).parents('a:eq(0)').show();
							$j(this).show();
						}
						else
						{
							$j(this).parents('a:eq(0)').hide();
							$j(this).hide();
						}
					});

					$j(this).parents('.images-container:eq(0)').find('.images img').each(function(i){
						if ( i==iActive )
						{
							$j(this).addClass('active');
						}
						else
						{
							$j(this).removeClass('active');
						}
					});

					return false;
				});
			});

			//add "last" class
			if ( iLastVal>4 )
			{
				$j(this).find('img:last').addClass('last');
			}
		});
		$j(this).find('.images-container .images img:eq(0)').click();
	});

}

function applyFunctionalitySaleScroll()
{
	var iCount = 0;

	$j('.sale-container .images-container .images a').each(function(){
		iWidthContent += $j(this).width();
		iCount++;
	});

	if ( iCount<5 ) return;

	iScrollBarWidth = iWidth = $j('.sale-container .images-container .images').width();
	iWidthOuter = $j('.sale-container .images-container').addClass('scrollable').outerWidth(true);
	iScrollPanelWidth = Math.ceil((iWidth*iWidth)/iWidthContent);
	iScrollTopMax = iWidthOuter-iScrollPanelWidth-69;

	$j('.sale-container .images-container').append($j('<div class="jScrollPaneTrack" style="width:'+(iScrollBarWidth-13)+'px;"><div class="jScrollPaneDrag" style="width:'+iScrollPanelWidth+'px;"><div class="jScrollPaneDragTop"></div><div class="jScrollPaneDragBottom"></div></div><div class="jScrollPaneTrackTop"></div><div class="jScrollPaneTrackBottom"></div></div>'));
	$j('.sale-container .images-container .jScrollPaneDrag').draggable({axis: 'x', containment: 'parent', drag: scrollDragProcess});

}

function scrollDragProcess(event, ui)
{

	// correct position for the draggable DIV
	ui.position.left = ui.position.left<0 ? 0 : ui.position.left;
	ui.position.left = ui.position.left>iScrollTopMax ? iScrollTopMax : ui.position.left;
	
	// calculate position
	iPosition = ui.position.left/iScrollTopMax;
	ui.helper.parents('.images-container:eq(0)').find('.images').css('margin-left', Math.ceil(iPosition*(iScrollBarWidth-iWidthContent)-7).toString()+'px');

}

$j(function(){
	if ($j.browser.mozilla && (parseFloat($j.browser.version) < 1.9)) {
		var d = $j("<div class='error'>Please Upgrade your browser</div>");
		$j('body').prepend(d);
	}
	applyFunctionalitySale();
	applyFunctionalitySaleScroll();
});
