﻿Type.registerNamespace("Res.Commerce.Web.Composants.FicheProduit.V01");
Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies = function (element) {
    Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies.initializeBase(this, [element]);

    this._ZoneProdAssocies = null;
    this._InfoProduitAssocies = null;

};
Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies.prototype = {
    initialize: function () {
        Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies.callBaseMethod(this, "initialize");

        this._ZoneProdAssocies = $(".memo_fp_c_est_joli_avec_bloc");
        this._ZoneProdAssocies.click(Function.createDelegate(this, this.ProduitsAssociesClick));

        for (i = 0; i < this._InfoProduitAssocies.length; i++) {
            var delegateIn = Function.createDelegate(this, this.OnClickProduitAssocie);
            $(this.FormatId('#' + this._InfoProduitAssocies[i].IdComposant)).click(function (ev) { delegateIn($(this),ev) });
        }

    },
    FormatId: function (selector) {
        return '#' + this._element.id + ' ' + selector;
    },
    dispose: function () {
        Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies.callBaseMethod(this, "dispose");
        this._ZoneProdAssocies.unbind('click');
    },

    saveClientState: function () {
        return null;
    },

    ClickProduitAssocie: function (func) {
        $('#' + this._element.id).live("ProduitAssocie", func);
    },

    OnClickProduitAssocie: function (el,ev) {
        if (ev != null) {
            ev.preventDefault();
            var id = el.attr('id');
            var event = jQuery.Event("ProduitAssocie");
            event.idArticle = id;
            event.href = $('#' + id + ' a:first').attr('href');
            $('#' + this._element.id).trigger(event);
        }
    },

    ProduitsAssociesClick: function (ev) {
        $("#" + this._element.id).trigger('ProduitsAssocies_Click');
    },

    get_InfoProduitAssocies: function () {
        return this._InfoProduitAssocies;
    },

    set_InfoProduitAssocies: function (value) {
        this._InfoProduitAssocies = value;
    }

};
Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies.registerClass("Res.Commerce.Web.Composants.FicheProduit.V01.ProduitsAssocies", Res.Commerce.Web.Composants.ScriptControlBase);

if (typeof (Sys) !== "undefined") Sys.Application.notifyScriptLoaded(); 
