﻿//fadingManager is a json object that manages the website's banner fading effect
var fadingManager =
{
     defaultPrefix:'',
     defaultButton:'',
     newClass : '',
     currentClass:'',
     fadingElement:'',
     isFading :false,
     
    Init: function (  bannerPrefix , fadingElementName)
    {
         fadingManager.defaultPrefix = bannerPrefix;
         fadingManager.currentClass =fadingManager.GetClassNameFromPrefix(bannerPrefix)
         fadingManager.newClass = fadingManager.currentClass;
         fadingManager.fadingElement = fadingElementName;   
    },
    
    FadeBanner: function (imageClassName, divName)
    {           
        fadingManager.newClass = imageClassName;
        
        if(fadingManager.newClass != fadingManager.currentClass)
        {
            $j("#"+fadingManager.fadingElement).fadeOut(200, function()
            {

                $j("#"+fadingManager.fadingElement).attr("className", fadingManager.newClass);
                $j("#"+fadingManager.fadingElement).fadeIn(200, function()
                {
                    fadingManager.currentClass = fadingManager.newClass;
                });
            });
        }
    },


    SetDefaultValues : function ()
    {
        $j("#"+fadingManager.fadingElement).attr("className",fadingManager.currentClass);
        fadingManager.ActivateButton(fadingManager.defaultPrefix);
    },

    ChangeBanner: function (bannerPrefix)
    {
       fadingManager.FadeBanner(fadingManager.GetClassNameFromPrefix(bannerPrefix));
    },
    
    ActivateButton: function (bannerPrefix)
    {
      var buttonName = fadingManager.GetButtonNameFromPrefix(bannerPrefix);
      $j("#"+buttonName).attr("className",buttonName+"_Active");
    },
    
    DeactivateButton: function (bannerPrefix)
    {
        if (bannerPrefix != fadingManager.defaultPrefix)
        {
            var buttonName = fadingManager.GetButtonNameFromPrefix(bannerPrefix);
            $j("#"+buttonName).attr("className",buttonName);
        }
    },
    
    ActivateButtonAndBanner: function (bannerPrefix)
    {
        fadingManager.ActivateButton(bannerPrefix); 
        fadingManager.ChangeBanner(bannerPrefix);
    },

    DeactivateButtonAndBanner: function (bannerPrefix)
    {
        fadingManager.DeactivateButton(bannerPrefix); 
        fadingManager.ChangeBannerToDefault();
    },
    
    ChangeBannerToDefault:function ()
    {
        fadingManager.ChangeBanner(fadingManager.defaultPrefix);
    },
    
    GetClassNameFromPrefix: function(bannerPrefix)
    {
        return bannerPrefix+"BannerImage";
    },
    
    GetButtonNameFromPrefix: function(bannerPrefix)
    {
        return bannerPrefix+"ButtonImage";
    }
}
