﻿var urlHandlerProductsToCompare = "/Handlers/ProductsToCompare.ashx";


$(document).ready(function()
{
    //On affecte les vérifications a faire sur les boutons comparer    
    initCompareButton();
        
    //On associe les evenement sur les checkbox dans la liste de résultats
    initCompareCheckbox();
    
    //On cache les boutons comparer s'il n'y a aucun éléments dans la liste
    if ($(".result").length == 0)
        $(".bt-comparer").css("display", "none");
    else
        $(".bt-comparer").css("display", "inline");
        
    
});


function initCompareButton()
{
        
	//Ajout de la vérification qu'au moins 1 produit a été ajouté pour aller sur la page "compare"
    $("#linkComparePage_top, #linkComparePage_bottom ").each( function(i, currentItem)
    {
        currentItem = $(currentItem);
        if (!currentItem.hasClass("affected"))
        {
            currentItem.addClass("affected");
            currentItem.click(function(event)
            {
                var item = $(this);            
                var io = document.URL.indexOf("?cs=false");
                var urlReferer = "";
                if (io == -1)
                    urlReferer = document.URL;
                else
                    urlReferer = document.URL.substring(0, io);
                    
                $.ajax({ type:"POST", url:urlHandlerProductsToCompare,  data: {get: true, url: urlReferer}, dataType: "json",  cache:false, success: function(result, message)
                {
                    if (result != null && result.length > 0)
                        document.location = item[0].href;
                    else
                        alert("Vous devez sélectionner au moins un produit à comparer.");
                }});
                return false;
             });
        }
     });
    

}

function initCompareCheckbox()
{
    $.ajax({ type:"POST", url:urlHandlerProductsToCompare, data: {get: true, type: "Internet"}, dataType: "json", cache:false, success: function(result, message)
    {
        if (result != null)
            idAlreadyInSession = result;
            
        $(".result .option input[type='checkbox']").each(function (i, item)
        {
            item = $(item);
            if (!item.hasClass("designed"))
            {   
                //On check les checkbox qui donc l'id produit est deja en session
                if ( (jQuery.inArray(parseInt(item.val()), idAlreadyInSession) != -1) && !item[0].checked)
                {
                    item.click();
                }
                
                //On change le design des checkbox
                
                item.checkize(
                {
                    checked:"/Content/Images/Forms/Common/checkbox-checked.png",            		
                    unchecked:"/Content/Images/Forms/Common/checkbox-not-checked.png"
                });
            
                item.change(function()
                {
                    currentItem = $(this);
                    $.ajax({ type:"POST", url:urlHandlerProductsToCompare, data: { idProduct: currentItem.val(), type: "Internet" }, dataType: "json", success: function(j, message)
                    {
                        if(j.length > 0)
                        {
                            var position = jQuery.inArray(parseInt(currentItem.val()), j);
                            
                            //Si apres un click, l'id ne figure pas dans la liste, c'est soit il vient d'être supprimé, soit la liste est déjà pleine
                            if (position == -1)
                            {      
                                //La liste est deja pleine
                                if (j.length == 4 && currentItem[0].checked)
                                {
                                    alert("Vous ne pouvez pas choisir plus de 4 produits à comparer.");
                                    currentItem.parent().find("img").click();
                                }
                            }
                        }
                    }}); //Fin de getJSON
                }); //Fin de Change
            }//Fin de if
        }
        );//fin de each
     }})

}