var DEBUG = false;
var apiOverlay;

//---------------------------- BLOCK CART -------------------------//

	function initCartMenu(){
		
		jQuery(".block-cart").hoverIntent(function(){
			jQuery(".mini-products-list").slideDown();
		},function(){
			jQuery(".mini-products-list").slideUp();
		
		});
		
	}
	

//-----------------------------------------------------------------//

//-------------- Gestion des boutons quantité + et - --------------//
	function strpos (haystack, needle, offset) {
	
	    var i = (haystack+'').indexOf(needle, (offset || 0));
	    return i;
	}
	
	function closeOverlay(){
		apiOverlay.close();	
	}
	
	function plusQty(class_du_bloc,id_du_quickview,limitBasseQty,limitHauteQty){

	    if(DEBUG)console.log('Click PLUS - input type -moved IE6');
	
	    var overlayCurrentInput = jQuery('body>.quickview #qty');
	    var overlayCurrentInputHtml = jQuery('body>.quickview #qty').html();
		var actuel = overlayCurrentInput.val();

        if(DEBUG)console.log('Click PLUS - input qty value '+actuel);
		if(typeof(actuel)!='undefined' && actuel != ''){
			
			if(typeof(limitHauteQty)!='undefined' && limitHauteQty != '') {
				
				if(parseInt(actuel)<limitHauteQty)
				{
					var final = parseInt(actuel) + 1;
					overlayCurrentInput.val(final);
                    jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
				}
			}
		
		} else if(typeof(limitBasseQty)!='undefined' && limitBasseQty != '') { // on test valeur basse
		    final= limitBasseQty;
			overlayCurrentInput.val(final);
            overlayCurrentInput.attr('value',final);
			jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
		}
		  			
	}
	
	
	function minusQty(class_du_bloc,id_du_quickview,limitBasseQty,limitHauteQty){
	
    if(DEBUG)console.log('Click MINUS - input type -moved IE6');

    var overlayCurrentInput = jQuery('body>.quickview #qty');

	var actuel = overlayCurrentInput.val();		
	if(DEBUG)console.log('Click MINUS - input qty value '+actuel);
	if(typeof(actuel)!='undefined' && actuel != ''){
	
		if(typeof(limitBasseQty)!='undefined' && limitBasseQty != '') {
		
			if(actuel>limitBasseQty){
				var final = parseInt(actuel) - 1;
		                overlayCurrentInput.val(final);
                        overlayCurrentInput.attr('value',final);
                        jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
			} else {
				var final = limitBasseQty;
		                overlayCurrentInput.val(final);
                        overlayCurrentInput.attr('value',final);
                        jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
			}
			overlayCurrentInput.val(final);
            overlayCurrentInput.attr('value',final);
            jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
		}
		
	} else if(typeof(limitBasseQty)!='undefined' && limitBasseQty != '') { // on test valeur basse
	        final=limitBasseQty;
			overlayCurrentInput.val(final);
            overlayCurrentInput.attr('value',final);	
            jQuery('body>.quickview .qty-box .zone-qty').html('<input type="text" class="input-text qty" title="Qté" value="'+final+'" maxlength="12" id="qty" name="qty">');
	}
	
	}
			
//-----------------------------------------------------------------//


jQuery(document).ready(function() {
	
	
	//------------- ADVANCED SEARCH --------------//
/*
	jQuery('.advanced-search-link').click(function() {
  		jQuery('.header-advanced-search').slideToggle('slow', function() {
  		});
	});
	jQuery('.catalogsearch-advanced-result .error-msg a').click(function() {
  		jQuery('.header-advanced-search').slideToggle('slow', function() {
  		});
  		return false;
	});
	jQuery('.catalogsearch-advanced-result .breadcrumbs .search a').click(function() {
  		jQuery('.header-advanced-search').slideToggle('slow', function() {
  		});
  		return false;
	});	
	jQuery('.catalogsearch-advanced-result .advanced-search-summary a').click(function() {
  		jQuery('.header-advanced-search').slideToggle('slow', function() {
  		});
  		return false;
	});
	jQuery('.centquatre-search').click(function() {
  		jQuery('.header-advanced-search').slideToggle('slow', function() {
  		});
  		return false;
	});	
*/
	//------------------------------------------//
	
	
	
	//------------- TWITTER --------------//
	if (jQuery(".flux-twitter .items li").size() > 1) {
		jQuery(".flux-twitter").scrollable({circular:true, vertical:true}).autoscroll({ autoplay: true });  
    }
	//------------------------------------------//
	

	
	//------------- SLIDER --------------//
	jQuery('#slider_navi li:eq(0)').addClass('active');
	var slider = jQuery("#slider").scrollable({
		vertical: true,
		circular: true
	}).navigator({navi:'#slider_navi',activeClass:'active'}).autoscroll({ autoplay: true });

	//------------------------------------------//
	
	
	
	//------------- MINI-LIVECHAT --------------//
	jQuery("#mini-livechat").css('width', '35px');
	jQuery("#mini-livechat .content").hide();
	var flag = false;
		jQuery("#mini-livechat .tab").bind('click', function(){
		if(flag == false) {
			jQuery(this).parent().stop().animate({width : '240px'}, 600, function(){
				jQuery("#mini-livechat .content").show('slow');
			});
			flag = true;
		}else {
			jQuery("#mini-livechat .content").hide('slow');
			jQuery(this).parent().stop().animate({width : '35px'}, 600);
			flag = false;
		}
	});
	//------------------------------------------//
	
	//-------------- BLOCK CART --------------//
	
	initCartMenu();
	
	//------------------------------------------//
	
	//------------ MASONRY MAIN CATEGORY && NAVIGATION && SITEMAP------------//
	jQuery('.scategory').masonry({
		singleMode: true,
		itemSelector: '.wrapper-scat',
		columnWidth: 163
	});
	
	jQuery('ul.level0 span.for-masonry').masonry({
		singleMode: true,
		itemSelector: 'li.level1',
		columnWidth: 155
	});
	
	jQuery('ul.sitemap').masonry({
		singleMode: true,
		itemSelector: 'ul.sitemap-cat',
		animate: true,
		columnWidth: 330
	});
	//------------------------------------------//
	

		
	//----------- TOGGLE INPUT VALUE ON FOCUS ----------//
	swapValue = [];
	jQuery(".toggle-value").each(function(i){
	   swapValue[i] = jQuery(this).val();
	   jQuery(this).focus(function(){
	      if (jQuery(this).val() == swapValue[i]) {
	         jQuery(this).val("");
	      }
	      jQuery(this).addClass("focus");
	   }).blur(function(){
	      if (jQuery.trim(jQuery(this).val()) == "") {
	         jQuery(this).val(swapValue[i]);
		 jQuery(this).removeClass("focus");
	      }
	   });
	});
	//------------------------------------------//

	

	//-------- UI multiselect ---------//
	jQuery(".multiselect").multiSelect({selectedList:5});
	//------------------------------------------//

	//-------- Overlay IE6  ---------//
	 
		var width = jQuery(window).width(); 
		var height = jQuery(window).height(); 
		var pageHeight = document.body.clientHeight; 
		if (pageHeight > height) { 
			height = pageHeight; 
		}
		jQuery("#acp-overlay").css({width: width, height: height}); 

	//------------------------------------------//
	
	//-------- TAB IN PRODUCT PAGE ---------//
	// tab page Produit
	jQuery(".wrap .mini-tabs").tabs(".wrap > div");
	jQuery(".wrap-big ul").tabs(".wrap-big > div");
	
	
	
	//-------- SCROLLABLE LINK IN PRODUCT PAGE ---------//
	var tabsApi = jQuery(".wrap-big ul").data('tabs');
	
	//scrollTO(@linkToClick, @anchor where we scroll, @class name of the li tab)
	scrollTo('.avis', 'advice', 'advice');
	scrollTo('.comment', 'form-add', 'advice');
	scrollTo('.no-rating', 'form-add', 'advice');
	
	function scrollTo(link, anchor, classOfTab) {
		jQuery(link).click(function(e){
			e.preventDefault();
			
			var elementNumber = elementPosition('.wrap-big ul', classOfTab);
			//console.log(elementNumber);
			
			goToByScroll(anchor);
			tabsApi.click(elementNumber);
			
			return false;
		});
	}
	
	function elementPosition(node, element) {
		var i = 0;
		var number = 0;
		
		var $li = jQuery(node+' li');
		
		jQuery($li).each(function(){
			if(jQuery($li).eq(i).hasClass(element)) {
				number = i;
			}else {
				i++;
			}
		});
		
		return number;
		
	}
	
	function goToByScroll(id){
		jQuery('html,body').animate({scrollTop: jQuery("."+id).offset().top},'slow');
	}
	//------------------------------------------//
	       
	
	//-------- QUICKVIEW ---------//	

	var quickview;

	    Quickview = Class.create();
		Quickview.prototype = {
		initialize: function(){
			if(DEBUG)console.log('######################################## QUICKVIEW : Init ###############################################');
					
			var firstRun =true;
			jQuery('body').append('<a href="#" rel="#quick" class="trigger"></a><div class="quickview" id="quick"><div class="quickContent"></div><a href=".bloc-home-offre%20#0.quickview" title="previous" class="btn-prev"></a><a href=".bloc-home-offre%20#2.quickview" title="next" class="btn-next"></a></div>');
			
			jQuery('.trigger').overlay({
				
				onClose: function(){
					if(DEBUG)console.log('######################################## CLOSE OVERLAY ###############################################');
			
					var currentLiId=jQuery('#quick .quickContent').attr('rel');
					var currentContext=jQuery('#quick .quickContent').attr('rel2');
					if(DEBUG)console.log('onClose -> li ID -> '+currentLiId);
					if(DEBUG)console.log('onClose -> context ->'+currentContext);
					quickview.refreshQty(currentLiId,currentContext);	
				},
				closeOnClick: true,
				mask : '#4c4c4c'});
		},
		startApi: function(){
			apiOverlay = jQuery('.trigger').data('overlay');
		},
		populateButton: function(){
			if(DEBUG)console.log('######################################## QUICKVIEW : populatePlayground ###############################################');
					
			jQuery('button[rel]').each(function(e) {
            	var button = jQuery(this);
            	//hide all button
				jQuery(button).hide();
				//gestion on/off button
				jQuery(button).parent().hover(function(){
					jQuery(button).show();
						jQuery(button).animate({
							height : '20px'
						}, 'fast');
					},function(){
					jQuery(button).animate({
						height : '0px'
					}, 'fast', function(){
						jQuery(button).hide();
					});
				});	
			});
			// gestion click sur les bouttons
			jQuery('button[rel]').live('click',function(){
					if(DEBUG)console.log('######################################## CLICK BUTTON ###############################################');
							
					apiOverlay.load();
					if(DEBUG)console.log('api load');
					var currentContext = jQuery(this).parent('li').find('.quickContent').attr('rel2');
					if(DEBUG)console.log('NEW CONTEXT -> '+currentContext);			
					var currentLiId = jQuery(this).parent('li').attr('rel');
					var currentLiNode = jQuery(this).parent('li');
					//on recup le contenu de la div associer
					var recup = jQuery(this).parent().find('.quickview').html();
					//on colle dans l'overlay actif (le premier)
					jQuery('#quick').html(recup);
					
					//on recharge les urls
					quickview.nextAction(currentLiNode,currentLiId,currentContext);
					quickview.prevAction(currentLiNode,currentLiId,currentContext);
					
			});
			jQuery('#quick .button-set a').live('click',function(event){
                  	
					event.preventDefault();
					if(DEBUG)console.log('######################################## CLICK NEXT o PREV ###############################################');
					
					//sauf qty actuelle avant de remplacer
					var cheminNextQuickview = jQuery(this).attr('href');
					if(DEBUG)console.log('CLICK NEXT o PREV -> Chemin vers le prochain quickView "cheminNextQuickview" -> '+cheminNextQuickview);
					
					var cheminNextQuickviewClass = jQuery(this).attr('class');
					if(DEBUG)console.log('CLICK NEXT o PREV -> Sens boucle "cheminNextQuickviewClass" -> '+ cheminNextQuickviewClass);
					
					var cheminLiTry= cheminNextQuickview.split('#');
					var contextLength = cheminLiTry[0].length;
					var context = cheminLiTry[0].substring(0, parseInt(contextLength)-1);
					if(DEBUG)console.log('CLICK NEXT o PREV -> context -> '+context);
					cheminLiTry = cheminLiTry[1].split('.');
					if(DEBUG)console.log('CLICK NEXT o PREV -> coupe . -> '+cheminLiTry);
					cheminLiTry = cheminLiTry[0];

					if(DEBUG)console.log('CLICK NEXT o PREV -> id cheminliTry Li node -> '+cheminLiTry+' con '+context);
					var waytoliNode ='.main '+context+' '+'li[rel='+cheminLiTry+']';
					var currentLiNode=jQuery(waytoliNode);
					if(DEBUG)console.log('CLICK NEXT o PREV -> Parent du prochain quickview donc Li node -> '+ currentLiNode);
					
					var currentLiId= cheminLiTry;
					if(DEBUG)console.log('CLICK NEXT o PREV -> rel du li suivant -> '+currentLiId);
					
					var currentContext= cheminNextQuickview.split(' ');
					currentContext= currentContext[0];
					
					if(cheminNextQuickviewClass=='btn-prev'){
						var final=parseInt(currentLiId)+1;
						if(DEBUG)console.log('CLICK NEXT o PREV -> Sur qui on applique le refrehQty Final -> '+final);
						quickview.refreshQty(final,currentContext);
					};
					if(cheminNextQuickviewClass=='btn-next'){
						var final=parseInt(currentLiId)-1;
						if(DEBUG)console.log('CLICK NEXT o PREV -> Sur qui on applique le refrehQty Final -> '+final);
						quickview.refreshQty(final,currentContext);
					};
					
					//refresh contenu
					var cheminFinal = waytoliNode+' .quickview';
					
					if(DEBUG)console.log('CLICK NEXT o PREV -> On récupere le contenu du quickview cible -> chemin final -> '+cheminFinal);
					var nextQuickview = jQuery(cheminFinal).html();
					
					if(DEBUG)console.log('CLICK NEXT o PREV -> On remplace le contenu de #quick par le nouveau contenu');
					jQuery('#quick').html(nextQuickview);
					
					//refresh href Next/Prev
					if(DEBUG)console.log('CLICK NEXT o PREV -> On lance le reload des href des liens dans #quick');
					quickview.nextAction(currentLiNode,currentLiId,currentContext);
					quickview.prevAction(currentLiNode,currentLiId,currentContext);
				});
   		},
		nextAction: function(currentLiNode,currentLiId,currentContext){
			if(jQuery(currentLiNode).next('li').length==1){ // NEXT
					if(DEBUG)console.log('ya as un apres');
					var nextLiId = parseInt(currentLiId)+1;
										
					if(parseInt(strpos(currentContext,'.',0))==0)var cheminNextQuickview=currentContext+' #'+ nextLiId +'.quickview';
					if(parseInt(strpos(currentContext,'.',0))==-1)var cheminNextQuickview='.'+currentContext+' #'+ nextLiId +'.quickview';
					
					jQuery('#quick').find('.btn-next').attr('href', cheminNextQuickview);
					if(DEBUG)console.log('nextAction -> URL button NEXT -> '+cheminNextQuickview);			
			} else {
				jQuery('#quick').find('.btn-next').attr('href', '#');
			}
		},
		prevAction: function(currentLiNode,currentLiId,currentContext){
			if(jQuery(currentLiNode).prev('li').length==1){ // PREV
					if(DEBUG)console.log('ya as un avant');	
					var prevLiId = parseInt(currentLiId)-1;
					
					if(parseInt(strpos(currentContext,'.',0))==0)var cheminPrevQuickview=currentContext+' #'+prevLiId+'.quickview';
					if(parseInt(strpos(currentContext,'.',0))==-1)var cheminPrevQuickview='.'+currentContext+' #'+prevLiId+'.quickview';
					
					jQuery('#quick').find('.btn-prev').attr('href', cheminPrevQuickview);
					if(DEBUG)console.log('prevAction -> URL button PREV -> '+cheminPrevQuickview);

			}else {
				jQuery('#quick').find('.btn-prev').attr('href', '#');
			}
		},
		refreshQty: function(currentLiId,currentContext){
			if(DEBUG)console.log('######################################## REFRESHING QTY ###############################################');
					
			var newQty = jQuery('#quick').find('#qty').val();
			if(DEBUG)console.log('RefreshQty -> New qty -> '+newQty);	
			var currentLiId = parseInt(currentLiId);
			var cheminOldquickview = currentContext+' #'+ currentLiId +'.quickview .qty-box .zone-qty';
			
			if(DEBUG)console.log('RefreshQty -> context + zone -> '+cheminOldquickview);
			if(DEBUG)console.log('RefreshQty -> li ID -> '+currentLiId);
			
			if(DEBUG){
				if(jQuery(cheminOldquickview).length==1){
					var pp=jQuery(cheminOldquickview);
					console.log('RefreshQty -> La cible existe');
					console.log(pp);
					console.log(newQty);
				}
			}
			var newInput = jQuery('<input type="text" value="'+newQty+'" />');
			// Create and then set any other attributes
			newInput.attr('id', 'qty');
			newInput.attr('class', 'input-text qty updated');
			newInput.attr('title', 'Qté');
			newInput.attr('name', 'qty');
			newInput.attr('maxlength', '12');
			
			
			//var futurInput = '<input type="text" class="input-text qty updated" title="Qté" value="'+newQty+'" maxlength="12" id="qty" name="qty">';
			if(DEBUG)console.log('RefreshQty -> futur INPUT -> '+ newInput +' FUTUR PACH .HTML() -> '+cheminOldquickview);
			jQuery(cheminOldquickview).html(newInput);
			if(DEBUG)console.log('RefreshQty -> La valeur sauvegarder est -> '+jQuery(cheminOldquickview).html());
		}
		
		
	}
	var quickview= new Quickview();
	quickview.startApi();
	quickview.populateButton();
	

});


