﻿/*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);
    },


    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*/
