var wdPosition = 0;
var wdProductCounter = 0;
var wdMaxPosition = 0;
var wardrobeOpen = false;

$(document).ready(function(){
						   
	var maxHeight = $("div#contentCont").height();
	var startY = $('div#mainContentCont').offset({relativeTo: 'body'}).top - 16;
	
	floatDiv("wardrobeTab", startY, maxHeight).float();
	
	$("div#wardrobeTab").hover(function(){
		$(this).addClass('hoverActive').find("img#wardrobeTabImage").attr('src', '/pws/images/tab_Wardrobe_1.gif');
	}, function(){
		if(!wardrobeOpen){
			$(this).removeClass('hoverActive').find("img#wardrobeTabImage").attr('src', '/pws/images/tab_Wardrobe_0.gif');
		}
	});

	$("input.clearValue").focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
			if( !this.value.length ) {
				this.value = this.defaultValue;
			}
	});

	loadMiniBasket();
	loadWardrobePopout();
	
	if(typeof sIFR == "function"){
		sIFR.replaceElement(named({sSelector: "body h1.sifr", sFlashSrc: "/pws/flash/sifr.swf", sWmode: "transparent", sColor: "#082151"}));
		sIFR.replaceElement(named({sSelector: "body h1.sifr-light", sFlashSrc: "/pws/flash/sifr.swf", sWmode: "transparent", sColor: "#082151"}));
	}

	$("div#miniBasket").hoverIntent(function(){
		$("div#miniBasketDetail").slideDown("fast");
	}, function() {
		$("div#miniBasketDetail").slideUp("fast");
	});
	
	$("img.draggableImg").draggable({
		helper:'clone', 
		opacity:0.5,
		delay:10,
		zIndex:999
	}); 
	
	$("div#wardrobeTab,div#wardrobeContent").droppable({ 
		accept: "img.draggableImg",
		tolerance: 'touch',
		activeClass: 'hoverActive',
		hoverClass: 'hoverOver',
		activate:  function(ev, ui){
			$("img#wardrobeTabImage").attr('src', '/pws/images/tab_Wardrobe_1.gif');
			wardrobeOpen = true;
		},
		deactivate: function(ev, ui){
			$("img#wardrobeTabImage").attr('src', '/pws/images/tab_Wardrobe_0.gif');
			wardrobeOpen = false;
		},
		over: function(ev, ui){
			$("div#wdProductsWindow").css("borderLeft","1px solid #082151").css("borderRight","1px solid #082151");
		},
		out: function(ev, ui){
			$("div#wdProductsWindow").css("borderLeft","1px solid #B5D1E8").css("borderRight","1px solid #B5D1E8");
		},
		drop: function(ev, ui){
			var droppedProductId = $(ui.draggable).attr("id");
			var currentCookie = $.cookie('wardrobe');
			$("div#wdProductsWindow").css("borderLeft","1px solid #B5D1E8").css("borderRight","1px solid #B5D1E8");
			if(currentCookie === null || currentCookie === ''){
				$.cookie('wardrobe', droppedProductId , {expires: 31, path: '/'});
				loadWardrobePopout();																		
			}
			else{
				if(!currentCookie.match(droppedProductId)){
					$.cookie('wardrobe', currentCookie + ',' + droppedProductId , {expires: 31, path: '/'});
					loadWardrobePopout();																		
				}
			}
			wardrobeOpen = false;
		}
	});	
});



var setFloatInterval = false;
var setFloatTimeOut = false;

function stopFloat(){
	clearInterval(setFloatInterval);
}

function floatDiv(id, startY, maxHeight) {
	var element = $("#" + id);
	window[id + "_object"] = element;
	element.currentY = element.startY = startY;
	element.setPosition = function(newY){
		this.css('top', newY);
	}

	/* If you're not at the top of the page then move the wardrobe tab to viewable window */
	if ($(document).scrollTop() != 0) {
		element.currentY += ($(document).scrollTop() + element.startY - element.currentY);			
		element.setPosition(element.currentY);
	}

	element.float = function(){
		var pageY = $(document).scrollTop();
		this.currentY += (pageY + this.startY - this.currentY)/8;		
		
		if(this.currentY > maxHeight){
			this.currentY = maxHeight;
		}
		
		this.setPosition(this.currentY);
		
		$(window).scroll(function(){
			if(setFloatInterval != false){
				clearInterval(setFloatInterval);
				clearTimeout(setFloatTimeOut);
			}
			setFloatInterval = setInterval(id + "_object.float()", 40);
			setFloatTimeOut = setTimeout("stopFloat()", 4000);
		});		
	}
	return element;
}

function loadMiniBasket(){
	$.ajax({
		url: "/pws/ssnMiniBasketCount.jsp",
		cache: false,
		success: function(html){
			$("div#miniBasket div#miniBasketOverview p a").html(html);
		}
	});
	$.ajax({
		url: "/pws/ssnMiniBasketProducts.jsp",
		cache: false,
		success: function(html){
			$("div#miniBasket div#miniBasketDetail").html(html);
			miniBasketSliding();
			
			//Hide select boxes with an iframe for ie6
			//var mbd = $("div#miniBasketDetail");
			//if($.browser.msie && $.browser.version === "6.0"){
				//var iframe = $('<iframe id="minibasketIframe" src=""></iframe>');
				//mbd.prepend(iframe);
			//}
		}
	});
}



function miniBasketSliding() {
	var visibleProducts = 3;
	var totalProducts = $("div.mbProduct").length;
	var productHeight = 89;
	var productsWindowHeight = visibleProducts * productHeight;
	var totalProdSets = Math.ceil(totalProducts / visibleProducts);
	var currentProdSet = 1;
	var currentProdSetMargin = 0;

	if (totalProducts > visibleProducts){
		$("div.mbProductsControl").show();
		$("div#mbProductsWindow").css("height", productsWindowHeight);
		$("img#mbProductsNext").show().bind("click", function(){
			currentProdSet = currentProdSet + 1;
			currentProdSetMargin = currentProdSetMargin - productsWindowHeight;
			$("div#mbProductSet").animate({ 
				marginTop: currentProdSetMargin
			}, 500 );
			$("img#mbProductsPrev").show();
			if (currentProdSet == totalProdSets) {
				$("img#mbProductsNext").hide();
			}
			return false;
		});
		$("img#mbProductsPrev").bind("click", function(){
			currentProdSet = currentProdSet - 1;
			currentProdSetMargin = currentProdSetMargin + productsWindowHeight;
			$("div#mbProductSet").animate({ 
				marginTop: currentProdSetMargin
			}, 500 );
			$("img#mbProductsNext").show();
			if (currentProdSet == 1) {
				$("img#mbProductsPrev").hide();
			}
			return false;
		});
	}
}

function loadWardrobePopout(){
	
	var wardrobeTab = $('div#wardrobeTab');
	
	//Hide select boxes with an iframe for ie6
	if($.browser.msie && $.browser.version === "6.0"){
		var iframe = $('<iframe id="wardrobeIframe" src="/pws/blank.html"></iframe>');
		wardrobeTab.append(iframe);
	}
	
	var currentCookie = $.cookie('wardrobe');	
	if(currentCookie !== null && currentCookie != undefined && currentCookie != ''){
		productIds = currentCookie.split(",");
		wdProductCounter  = productIds.length;
		wdMaxPosition = (wdProductCounter -2)>0 ? wdProductCounter -2 : 0;
		html = "";

		for(i=0; i<wdProductCounter; i++){
			id = productIds[i].split("_");
			html = html + "<div class='wdProduct cf'><img src='/pws/images/catalogue/products/" + id[2] + "/small/" + id[2] + "_1.jpg' width='111' height='130' class='wardrobeImg'><a href='javascript:void(0);removeFromWardrobe(" + id[1] + ");'><img src='/pws/images/btn_wardrobeRemove.gif' width='48' height='28' class='wardrobeRemove'></a></div>";
		}
	}
	else{
		html = "<p>&nbsp;</p><p>Drag and drop products you like into this area.</p>"
	}
	$("div#wdProductSet").empty().html(html);

	wardrobeSliding();
}

function wardrobeSliding() {
	var visibleProducts = 2;
	var totalProducts = $("div.wdProduct").length;
	var productHeight = 140;
	if (totalProducts > 2){
		var productsWindowHeight = visibleProducts * productHeight;
	} else {
		var productsWindowHeight = totalProducts * productHeight;
	}
	var totalProdSets = Math.ceil(totalProducts / visibleProducts);
	var currentProdSet = 1;
	var currentProdSetMargin = 0;
	
	productsWindowHeight = productsWindowHeight === 0 ? 140 : productsWindowHeight;
	
	$("div#wdProductsWindow").css("height", productsWindowHeight);
	
	if (totalProducts > visibleProducts){

		$("div.wdProductsControl").show();
		$("img#wdProductsNext").show().bind("click", function(){
			currentProdSet = currentProdSet + 1;
			currentProdSetMargin = currentProdSetMargin - productsWindowHeight;
			$("div#wdProductSet").animate({ 
				marginTop: currentProdSetMargin
			}, 500 );
			$("img#wdProductsPrev").show();
			if (currentProdSet == totalProdSets) {
				$("img#wdProductsNext").hide();
			}
			return false;
		});
		$("img#wdProductsPrev").bind("click", function(){
			currentProdSet = currentProdSet - 1;
			currentProdSetMargin = currentProdSetMargin + productsWindowHeight;
			$("div#wdProductSet").animate({ 
				marginTop: currentProdSetMargin
			}, 500 );
			$("img#wdProductsNext").show();
			if (currentProdSet == 1) {
				$("img#wdProductsPrev").hide();
			}
			return false;
		});
	}
}


function removeFromWardrobe(prod_ID){
	var newVal = '';
	var newVal = '';
	var wardrobeCookie = $.cookie('wardrobe');
	var wardrobeCrumbs = new Array();
	wardrobeCrumbs = wardrobeCookie.split(",");

	if (wardrobeCrumbs.length > 1) {
		for(i=0; i<wardrobeCrumbs.length;i++) {
			CookieProd_ID = wardrobeCrumbs[i].split("_");
			CookieProd_ID = CookieProd_ID[1];
			if(CookieProd_ID != prod_ID){
				if(newVal.length > 0) newVal += ',';
				newVal += wardrobeCrumbs[i];
			}
		}
		$.cookie('wardrobe', newVal , {expires: 31, path: '/'});
	} else {
		$.cookie('wardrobe', null, { path: '/' });
	}
	$("div#wardrobeTab").toggleClass('hoverActive').find("img#wardrobeTabImage").attr('src', '/pws/images/tab_Wardrobe_0.gif');
	wdPosition = 0;
	loadWardrobePopout();																		
}

function printpage() {
	window.print();  
}



(function($){
	$.fn.pngfix = function(){
		var that = this;
		if(!($.browser.msie && $.browser.version === "6.0")){
			return $(this);
		}
		return this.each(function(i, n) {
			var imageSrc = $(n).attr("src");
			var imageHeight = $(n).attr("height");
			var imageWidth = $(n).attr("width");
			var imageFilter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + imageSrc + ", sizingMethod='crop')";
			$(n).wrap('<span class=""></span>');
			$(n).wrap('<span></span>');
			$(n).parent().parent().css({
				'filter': imageFilter,
				'height': imageHeight,
				'width': imageWidth,
				'display': 'block',
				'margin': '0'
			});
			$(n).parent().css('display','none');
		});
	};
})(jQuery);

