﻿/// <reference path="jquery.intellisense.js"/>
/// <reference path="Depend.Core.js"/>
/// <reference path="Depend.Services.MailService.js"/>

Depend.ProductSelector = function(clientId) {
    this.ClientID = clientId;
    this.Selector = "#" + clientId;
    this.Initialize();
};

Depend.ProductSelector.prototype =
{
    Name: 'Depend.ProductSelector',
    __typeName: 'Depend.ProductSelector',
    __class: true,
    Display: function() {
    },
    AttachEvents: function() {
        var __app = this;
        
        var context = $(this.Selector);
        var product = null;
        
        var getProductSelection = function() {
            return $("input", context).val();
        }
        
        var setProductSelection = function(id, selected) {
            if (selected) {
                $("input", context).val(id);
            } else {
                $("#" + id, context).removeClass("Selected");
            }
        }
        
        var removeLegacyControls = function() {
            //$("input[@type=radio]").remove();
        }
        
        var updateContinueState = function() {
            var val = $("input", context).val();
            if (val && val.length > 0) {
                $(".NextButton").removeClass("NextButtonDisabled");
                $(".NextButton").removeAttr("disabled");
            } else {
                $(".NextButton").addClass("NextButtonDisabled");
                $(".NextButton").attr("disabled", true);
            }
        }
        
        $('a', context).click(
            function() {
                $(this).toggleClass("Selected");
                $(this).toggleClass("Active");
                var ov = getProductSelection();
                var nv = $(this).attr("id");
                if (ov != nv) {
                    setProductSelection(getProductSelection(), false);
                    setProductSelection($(this).attr("id"), true);
                } else {
                    setProductSelection($(this).attr("id"), false);
                    $("input", context).val("");
                }
                updateContinueState();
                return false;
            }
        );
        
        $('a', context).hover(
            function() {
                $(this).addClass("Active");
            },
            function() {
                $(this).removeClass("Active");
            }
        );
        
        removeLegacyControls();
        updateContinueState();
    }
};

Depend.Extend(Depend.ProductSelector, Depend.UserControl);