/*----------------------------------------------------------------------------//
// Javascript pour le site client  -------------------------------------------//
//----------------------------------------------------------------------------//
// Client : -
// Note   : -
// Date   : -
//----------------------------------------------------------------------------*/

/*----------------------------------------------------------------------------*/
// Inclusion dynamique des fichiers externes javascripts
/*----------------------------------------------------------------------------*/
function importJavascript(src)
{
	document.write("<script type=\"text/javascript\" src=\"" + src + "\"></scr" + "ipt>");
}
function importCss(href, media)
{
	document.write('<link rel="stylesheet" type="text/css" media="' + media + '" href="' + href + '" />');
}

/*----------------------------------------------------------------------------*/
// Importations de fichiers
/*----------------------------------------------------------------------------*/
// importJavascript("/includes/js/plugins/jquery.plugin.js");
// importCss("/includes/js/plugins/jquery.plugin.css", "screen");
importCss("/includes/Servitech/js/plugins/abso.thickbox.css", "screen");
importJavascript("/includes/Servitech/js/plugins/watermark.js");
importJavascript("/includes/Servitech/js/plugins/abso.thickbox.js");

/*----------------------------------------------------------------------------*/
// Declarations jQuery
/*----------------------------------------------------------------------------*/
$(document).ready(function() {

    $("hr").replaceWith("<div class=\"hr\">&nbsp;</div>");

    var animationMenu = false;

    if ($("body.Accueil #Caroussel").length > 0) {
        initCaroussel($("#Caroussel"));
    }

    $(".BtHautPage", ".BlocTitreProduits:first").css("display", "none");
    $(".ListeProduits").each(function() {
        $(this).children(".BlocTitreProduits:first").css("background", "none");
        $(this).children(".BlocTitreProduits:first").css("padding-top", "0");
    });

    $("a.Trigger").click(function() {
        if (animationMenu == false) {
            animationMenu = true;
            $(this).toggleClass("On");
            $(this).next(".ListeProduits").slideToggle(function() {
                animationMenu = false;
            });
        }
        return false;
    });

    // open the first category box
    $("a.Trigger:first").addClass("On");
    $(".ListeProduits:first").css("display", "block");

    InitComparison();
    $(".CloseButton").click(function() { tb_remove(); return false; });

    if($("body").hasClass("Catalogue")) WatermarkForm();

    $(".Tableau").each(function() {
        $("tr:even", this).addClass('Cellules2');
        $("tr:odd", this).addClass('Cellules1');
    });
});

/*----------------------------------------------------------------------------*/
// FONCTION : CAROUSSEL
/*----------------------------------------------------------------------------*/
var totalSlide, timerSlide, currentSlide, containerSlide;
var slideTime = 3000;
function initCaroussel(obj) {
	containerSlide = obj
	totalSlide = $("img.CarousselSlide", containerSlide).length;
	if(totalSlide > 1) {
		$("img.CarousselSlide", containerSlide).each(function(i){
			$(this).attr("id", "slide-"+(i+1));
		});
		currentSlide = totalSlide;
		timerSlide = setTimeout(loopCaroussel, slideTime);	
	}
}
function loopCaroussel() {
	$("#slide-"+currentSlide).fadeOut(2000, function(){
		$(containerSlide).prepend($("#slide-"+currentSlide));
		$("#slide-"+currentSlide).show();
		currentSlide = (currentSlide == 1?totalSlide:(currentSlide-1));
		timerSlide = setTimeout(loopCaroussel, slideTime);
	});
}

function InitComparison() {
    $.ajax({
        type: "POST",
        url: "/Logic/Catalog/Ajax/initcompare.aspx",
        data: "",
        success: function(msg) {
            var productList = BuildArray(msg);
            $(".chkCompare").each(function() {
                var checkbox = $(this);
                var nodeId = checkbox.siblings(".hfCompare").val();
                if ($.inArray(nodeId, productList) != -1)
                    checkbox.attr("checked", true);
            });
        }
    });
    $(".chkCompare").click(function() {
        var checkbox = $(this);
        var addProduct = checkbox.is(":checked");
        var nodeId = checkbox.siblings(".hfCompare").val();
        var cultureName = checkbox.siblings(".hfCulture").val();
        $.ajax({
            type: "POST",
            url: "/Logic/Catalog/Ajax/compare.aspx",
            data: "nodeid=" + nodeId + "&culture=" + cultureName + "&add=" + addProduct,
            success: function(msg) {            
                if (msg != "OK") {
                    checkbox.attr("checked", false);
                    $("#PopupError").find("#ErrorMessage").html(msg);
                    tb_show("Erreur", "#TB_inline?height=100&amp;width=400&amp;inlineId=PopupError", "");
                }
            }
        });
    });
    $(".btnCompare").click(function() {
        
        var cultureName = $("#CompareCulture").val();        
    
        $.ajax({
            type: "POST",
            url: "/Logic/Catalog/Ajax/getproducts.aspx",
            data: "culture=" + cultureName,
            success: function(msg) {

            if (msg.charAt(0) != "[") {
                    $("#PopupError").find("#ErrorMessage").html(msg);
                    tb_show("Erreur", "#TB_inline?height=100&amp;width=400&amp;inlineId=PopupError", "");
                }
                else {
                    var productsList = msg.split("~");
                    var i;
                    for (i in productsList)
                        ParseData(parseInt(i) + 1, BuildArray(productsList[i]));
                    i++;
                    for (i; i < 3; i++)
                        ClearData(parseInt(i) + 1, BuildArray(productsList[0]));
                    tb_show("Comparaison de produits", "#TB_inline?height=294&amp;width=582&amp;inlineId=PopupComparison", "");
                }
            }
        });
        return false;
    });
}

function ParseData(pPosition, pProduct) {    
    for (var i in pProduct) {
        var validProduct = pProduct[i];
        var parts = pProduct[i].split(":");
        var cssClass = parts[0] + pPosition; // ici
        var value = parts[1];
        $("." + cssClass).html(value);
        $("." + cssClass).show();
    }
}

function ClearData(pPosition, pProduct) {    
    for (var i in pProduct) {
        var validProduct = pProduct[i];
        var parts = pProduct[i].split(":");
        var cssClass = parts[0] + pPosition;
        var value = "";
        $("." + cssClass).html(value);
        $("." + cssClass).hide();
    }
}

function BuildArray(pString) {
    pString = pString.substring(1, pString.length - 1);
    return pString.split("|");
}

function CheckForm(formName) {
    if (typeof (Page_ClientValidate) == 'function') {
        if (!Page_ClientValidate(formName)) {
            ValidateForm(formName, true, "Erreur");
            return false;
        }
    }
    return true;
}

function ValidateForm(groupName, OnlyOneErrorByField, classError) {
    var msg = new Array();
    var ctl = new Array();
    if (classError != '') jQuery('.' + classError).removeClass(classError);
    //Ne pas oublier d'appliquer "Page_ClientValidate()" avant d'appeler cette procédure
    for (var i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup == groupName && !Page_Validators[i].isvalid) {
            if (OnlyOneErrorByField) {
                var exist = false;
                for (var y = 0; y < ctl.length; y++) {
                    if (ctl[y] == Page_Validators[i].controltovalidate)
                        exist = true;
                }
                if (!exist) {
                    msg[msg.length] = Page_Validators[i].errormessage;
                    if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
                }
            }
            else {
                msg[msg.length] = Page_Validators[i].errormessage;
                if (classError != '') jQuery('#' + Page_Validators[i].controltovalidate).addClass(classError);
            }
            ctl[i] = Page_Validators[i].controltovalidate;
        }
    }
    return msg;
}

function RenderClick(e, btnID, validationGroup) {
    if (window.event) // IE
    {
        keynum = e.keyCode;
    }
    else if (e.which) // Netscape/Firefox/Opera
    {
        keynum = e.which;
    }
    // Si Enter
    if (keynum == 13) {
        // Lancer un postback sur le bouton passé en paramètre
        if (Page_ClientValidate(validationGroup)) {
            __doPostBack(btnID, '');
        }
        return false;
    }
    return true;
}

function MaxLength(obj, mlength) {
    if (obj.getAttribute) {
        if (obj.value.length > mlength) {
            obj.value = obj.value.substring(0, mlength)
        }
    }
}
