﻿/*loading related*/

//Loads different css file according to resolution 
//(main600_800.css for 600X800 resoution, main.css for higher resolutions)
function SetCSSBySize(productName)
{
    SetCss('Main');
    if (productName != null)
    {
        SetCss(productName + '/' + productName + 'Specific');
    }

}

function SetCss(name)
{
    if (window.screen.width <= 800)
    {
        RemoveCssLink(name);
        AddCssLink(name + '600_800');
    }

}

function LoadVideo(div)
{
    AjaxService.LoadVideo(window.screen.width, div, LoadVideo_Complete)
}

function LoadVideo_Complete(args)
{
    var target = document.getElementById(args.Target);

    if (args.Result != '')
    {
        target.innerHTML = args.Result;
    }

    if (args.Info != '')
    {
        var itemArray = args.Info.split(",")
        if (itemArray.length == 3)
        {
            expertMgr.Init(itemArray[0], itemArray[1], itemArray[2])
        }
    }

}
/*end of loading related*/

/* BEGIN Banner */


var fadingManager =
{
    currentDiv: 'BannerDiv0',
    newDiv: 'BannerDiv0',
    //newImage : 'Images/service_banner.jpg',
    newClass: 'serviceBannerImage',
    isFading: false,
    isMainImageFading: true,

    UseSingleMainImage: function()
    {
        fadingManager.isMainImageFading = false;
    },

    SetTitleImage: function(titleImage, packPrefix)
    {
        var imageSrc = "url(Images/" + packPrefix + "_title";
        if (window.screen.width <= 800)
        {
            imageSrc = imageSrc + ".68";
        }
        imageSrc = imageSrc + ".gif)";
        $j("#" + titleImage).css("background-image", imageSrc);
    },

    SetTopMenu: function(isOnMasterPage)
    {
        if (isOnMasterPage == "True")
        {
            $j(".serviceBannerImage").css("background-image", "url('Images/BarImages/service_banner_small.jpg')");
            $j(".serviceBannerImage").css("width", "170px");
            $j(".serviceBannerImage").css("height", "165px");
            if (browserDetect.initialized == false)
            {
                browserDetect.init();
            }
            if (browserDetect.browser == "Explorer")
            {
                if (browserDetect.version != 7)
                {
                    $j(".mainMenu_links").css("margin-top", "95px");
                }
            }
            else
            {
                $j(".mainMenu_links").css("margin-top", "95px");
            }
            $j(".bannerText").css("display", "none");
            $j(".mainMenu").css("height", "150px");
            $j(".homePageButtonImage").css("width", "42px");
            $j(".homePageButtonImage").parents("li:first").css("width", "42px");
        }
        else
        {
            $j(".homePageButtonImage").parents("li:first").css("display", "none");
        }
    },

    FadeBanner: function(imageClassName, divName)
    {
        fadingManager.newDiv = divName;
        fadingManager.newClass = imageClassName;
        if (fadingManager.newDiv != fadingManager.currentDiv)
        {
            if (fadingManager.isMainImageFading)
            {
                $j("#banner").fadeOut(300, function()
                {

                    //$j("#banner").attr("src", fadingManager.newImage);
                    $j("#banner").attr("className", fadingManager.newClass);

                    $j("#banner").fadeIn(300, function()
                    {
                        fadingManager.currentDiv = fadingManager.newDiv;
                        $j("#bannerText").attr("innerHTML", $j("#" + fadingManager.newDiv).html());
                    });
                });
            }
            else
            {
                fadingManager.currentDiv = fadingManager.newDiv;
                $j("#bannerText").attr("innerHTML", $j("#" + fadingManager.newDiv).html());
            }
        }
    },


    ChangeBannerAndButton: function(senderImage, bannerPrefix, divNumber)
    {
        //senderImage.src = "Images/"+bannerPrefix+"_button_o.png";
        fadingManager.ChangeBanner(bannerPrefix, divNumber)
    },

    ChangeBanner: function(bannerPrefix, divNumber)
    {
        //fadingManager.FadeBanner("Images/BarImages/"+bannerPrefix+"_banner.jpg", bannerPrefix+"BannerDiv");
        fadingManager.FadeBanner(bannerPrefix + "BannerImage", "BannerDiv" + divNumber);
    },

    ChangeBannerToDefault: function()
    {
        fadingManager.ChangeBanner("service", 0);
    }
};

/* END Banner */


/* BEGIN HomeFeeds */

function ToggleFeedList(rss, rssList)
{
    var rss = document.getElementById(rss);
    var rssList = document.getElementById(rssList);

    if (rss.style.display == "none")
    {
        rss.style.display = "block";
        rssList.style.display = "none";
    }
    else
    {
        rss.style.display = "none";
        rssList.style.display = "block";
    }
}

function LoadRss(name, div)
{

    ajaxHelper.ShowProgress("LoadRss", div);
    AjaxService.LoadRss(name, div, LoadRss_Callback)
}

function LoadRss_Callback(result)
{

    if (result != null)
        document.getElementById(result.Target).innerHTML = result.Result;
}

function ChangeRssTitle(name, title)
{
    var titleObject = document.getElementById(title);
    if (titleObject != null)
        titleObject.innerHTML = name;
}
/* END HomeFeeds */

/* BEGIN GUI related functions */

//var quickSearchManager = 
//{
//    maagarHidId: '',
//    currentMaagarId:
//    {
//        Get: function()
//        {
//            return document.getElementById(quickSearchManager.maagarHidId).value;
//        },
//        Set: function(value)
//        {
//            document.getElementById(quickSearchManager.maagarHidId).value = value;
//        }
//    },

//    Init: function(maagarHidId)
//    {
//        this.maagarHidId = maagarHidId;
//        classicTabManager.Init();
//    }
//}


/* control names*/
var SERVICE_TAB_NAMES = ["additionalServicesTab", "lawyerSearchTab", "localAuthorityTab"];
var SERVICE_TEXT_NAMES = ["txtFirstName", "txtLastName", "LocalAuthorityWUC1_locationSmartDropDown_selectionTxt"];
//var SEARCH_TAB_NAMES = ["verdictSearchTab", "lawSearchTab", "combinedSearchTab"];
//var searchTabMaagarIds = [2,1,0];
var LOCAL_AUTHORITY_RESULTS_DIV_NAME = "LocalAuthorityWUC1_localAuthorityResultsDiv";

/*end control names*/

function SelectServiceTab(tabName)
{
    var lastTabName = GetLastItemInArray(SERVICE_TAB_NAMES);
    for (i in SERVICE_TAB_NAMES)
    {
        var serviceTabName = SERVICE_TAB_NAMES[i];

        SetSelectedTab(serviceTabName, tabName, lastTabName, "SelectServiceTab");
        SetSelectedTabDiv(serviceTabName + "Div", tabName + "Div", "secondarySearch");
    }
    ClearServiceTabs();
}

//function SelectSearchTab(tabName)
//{
//    var lastTabName = GetLastItemInArray(SEARCH_TAB_NAMES);
//    for( i in SEARCH_TAB_NAMES)
//    {
//        var serviceTabName = SEARCH_TAB_NAMES[i];
//        
//        if(SetSelectedTab(serviceTabName, tabName, lastTabName, "SelectSearchTab"))
//            quickSearchManager.currentMaagarId.Set(searchTabMaagarIds[i]);
//        SetSelectedTabDiv(serviceTabName+"Div", tabName+"Div", "mainSearch");
//    }
//}

// Returns boolean indicating whether this tab is the selected tab
function SetSelectedTab(serviceTabName, currTabName, lastTabName, methodName)
{
    var tab = document.getElementById(serviceTabName);
    if (tab != null)
    {
        if (serviceTabName == currTabName)
        {
            tab.className = "selectedTab";
            //tab.href = "javascript:return false;";

            return true;
        }
        else
        {
            if (serviceTabName == lastTabName)
            {
                tab.className = "noBorder";
            }
            else
            {
                tab.className = "";
            }
            tab.href = "javascript:" + methodName + "('" + serviceTabName + "');";

            return false;
        }
    }
}

function SetSelectedTabDiv(serviceDivName, currDivName, defaultClassName)
{
    var div = document.getElementById(serviceDivName);
    if (div != null)
    {
        if (serviceDivName == currDivName)
        {
            div.style.display = '';
            div.className = defaultClassName;
        }
        else
        {
            div.style.display = "none";
            div.className = "hiddenItem";
        }
    }
}

function ClearServiceTabs()
{
    for (i in SERVICE_TEXT_NAMES)
    {
        var txt = document.getElementById(SERVICE_TEXT_NAMES[i]);
        if (txt != null)
        {
            txt.value = "";
        }
    }

    ClearLocalAuthorityResults();

}

function ClearLocalAuthorityResults()
{
    var div = document.getElementById(LOCAL_AUTHORITY_RESULTS_DIV_NAME);
    if (div != null)
    {
        div.className = "hiddenItem";
    }
}

function GetLastItemInArray(arrayObject)
{
    if (arrayObject != null && arrayObject.length > 0)
    {
        return arrayObject[arrayObject.length - 1];
    }
    else
    {
        return "";
    }
}
/* END GUI related functions */

/*Floating footer related functions*/


var footerManager =
{
    width: 0, // available browser window width
    //isIE: true, //indicates whether the browser is IE or not
    browserVersion: 0,
    footerId: null,
    internalWrapperId: null,
    externalWrapperId: null,
    scrollWidth: 16, //width of scrollbar in most IEs
    initializing: true,
    justInitialized: false,


    Init: function(footerId, internalWrapperId, externalWrapperId)
    {
        footerManager.footerId = footerId;
        footerManager.internalWrapperId = internalWrapperId;
        footerManager.externalWrapperId = externalWrapperId;

        this.SetElementWidth();

        //
        // Attach resize event
        //
        if (window.addEventListener)
            window.addEventListener("resize", footerManager.SetElementWidth, false);
        else if (window.attachEvent)
            window.attachEvent("onresize", footerManager.SetElementWidth);
        else if (document.getElementById)
            window.onresize = footerManager.SetElementWidth;

        footerManager.initializing = false;
        footerManager.justInitialized = true;
    },


    //-------------------------------------------------------------------------------------------------
    //   screen-size calculations
    //-------------------------------------------------------------------------------------------------



    // Gets width of window  other useful data
    GetDimensions: function()
    {
        //
        // get width (width)
        //
        if (browserDetect.initialized == false)
        {
            browserDetect.init();
        }

        if (browserDetect.browser == "Explorer")
        {
            footerManager.browserVersion = browserDetect.version;
            if (footerManager.browserVersion < 6)//IE 4 compatible
            {
                //else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
                width = document.body.clientWidth;
                //h = document.body.clientHeight;
                //footerManager.isIE = true;
            }
            else
            {
                //else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
                //IE 6+ in 'standards compliant mode'
                width = document.documentElement.clientWidth;

                //h = document.documentElement.clientHeight;
                //footerManager.isIE = true;
                //                if (footerManager.browserVersion >= 7) {
                //                    footerManager.scrollWidth = 15;
                //                }
            }
        }
        else //Non-IE: irrelevant here, but kept in case this becomes relelvant
        {
            //if (window.innerWidth) {
            width = window.innerWidth;
            //footerManager.isIE = false;
        }

        footerManager.width = width;

    },

    // Sets document Iframe width
    SetElementWidth: function()
    {
        footerManager.GetDimensions();

        //if this is firefox there is no need to do anything
        if (footerManager.browserVersion > 0)
        {

            var scrollWidth = footerManager.scrollWidth;

            var internalWrapper = document.getElementById(footerManager.internalWrapperId);
            var wrapperWidth = internalWrapper.clientWidth;

            var width = footerManager.width - scrollWidth;

            // Get footer element
            var footer = document.getElementById(footerManager.footerId);


            //determine left (according to whether or not thre's a scrollbar there)
            //            var left = scrollWidth;
            var bottom = -1;

            if (width <= wrapperWidth)
            {
                bottom = scrollWidth;
                //                if (width < (wrapperWidth)) {
                //                    left = -1;

                //                }
                //                else {
                //                    left = (width - wrapperWidth);

                //                }
                var externalWrapper = document.getElementById(footerManager.externalWrapperId);
                if (footerManager.initializing == true)
                {
                    externalWrapper.style.width = "100.9%";
                    wrapperWidth = wrapperWidth + 20;

                    // set left
                    footer.left = "9px";
                    footer.style.left = "9px";
                }
                else if (footerManager.justInitialized == true)
                {
                    externalWrapper.style.width = "100%";

                    // set left
                    footer.left = "";
                    footer.style.left = "";
                    footerManager.justInitialized = false;
                }
                //width is now set
                width = wrapperWidth;
            }

            //            // set left position
            //            footer.left = left.toString() + "px";
            //            footer.style.left = left.toString() + "px";
            //           
            // set width 
            footer.width = width.toString() + "px";
            footer.style.width = width.toString() + "px";

            // set bottom 
            footer.bottom = bottom.toString() + "px";
            footer.style.bottom = bottom.toString() + "px";

        }
    },

    HideBottomFooter: function()
    {
        var footer = document.getElementById(footerManager.footerId);
        footer.style.display = "none";
    }
}

/*END Floating footer related functions*/

