﻿/// <reference path="jquery-1.3.2-vsdoc2.js" />

function isIE6() {
    if(jQuery.browser.msie && jQuery.browser.version <= 6) {
        return true;
    }
    else {
        return false;
    }
}


function isIE7() {
    if(jQuery.browser.msie && jQuery.browser.version == 7) {
        return true;
    }
    else {
        return false;
    }
}


function getXYAndSize(oElement) {
    var jsonObj = {left:-1, top:-1, width:0, height:0};
    
    if( typeof( oElement.offsetParent ) != 'undefined' ) {

        //jsonObj.width = oElement.offsetWidth;
        jsonObj.height = oElement.offsetHeight;

        for(var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {
            posX += oElement.offsetLeft;
            posY += oElement.offsetTop;
        }
        
        jsonObj.left = posX;
        jsonObj.top = posY;
    }
    else {
        jsonObj.width = oElement.width;
        jsonObj.height = oElement.height;
        jsonObj.left = oElement.x;
        jsonObj.top = oElement.y;
    }
    
    return jsonObj;
}


function show_languages() {
    if($("#SiteLanguageSelectorHolder").length) {
        
        var langSize;
        if($("#langselbox").length) {
            langSize = getXYAndSize($("#langselbox")[0]);
        }
        
        if(langSize != undefined) {
            if ($("#SiteLanguageSelectorHolder").css('display') == 'none') {
                $("#SiteLanguageSelectorHolder").css({
                    display: "block",
                    left: langSize.left +"px",
                    top: (langSize.top + langSize.height) +"px"
                });
            }
            else {
                $("#SiteLanguageSelectorHolder").css({ display: 'none' });
            }
        }
    }
}

/*
function showThankYouMessage() {
    if ((activeTab != undefined) && (activeTab != '')) {

        var thankYouContainerId = "#thank_you" + activeTab;
        var tabIntroContainerId = "#tab_intro" + activeTab;
        var tabContentContainerId = "#tab_content" + activeTab;
        var contactFormContainerId = "#contact_form" + activeTab;
        var leftImageContainerId  = "#left_image_container" + activeTab;

        $(thankYouContainerId).show();
        $(tabIntroContainerId).hide();
        $(tabContentContainerId).hide();
        $(contactFormContainerId).hide();
        $(leftImageContainerId).hide();
    }

    var query = getParameterByName("thank_you");
    if (query != null && query != '') {
        var popup = document.getElementById("thank_you");
        var form = document.getElementById("ContactFormContainer");
        popup.style.display = "block";
        form.style.display = "none";
    }
}
*/

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}

function initTabs() {
    // tabs 'StandardPageNew.aspx' -----
    if($("#theTabs").length > 0) {
        $("#theTabs").tabs("#flowpanes > div", {
            tabs: 'a',
            onClick: function(event, tabIndex) {
                if (tabIndex != undefined) {
                    var activeTab = $("#UrlSegment_" + tabIndex).text();
                    // Add active tab string to hidden textbox.
                    $("#" + gActiveTabTextId).val(activeTab);
                }

                $("#flowpanes").css("visibility","visible");
                
                var innerHeight = $('#page_frame_content').innerHeight();
                $('#page_frame_shadow_left').height(innerHeight);
                $('#page_frame_shadow_right').height(innerHeight);
            }
        }).history();

        $("#save").click(function() {
            alert($("#theTabs li a.current").attr("href"));
        });
    }
    // -----
}


// ****************************************************************
// Share this : START
// ****************************************************************
var jbtnId = '#shareThisLinkBtn';
var jwinId = '#addThis';
var shareTimer;
var delay = 400;

function killSetTimer(timer) {
    if(timer != undefined) {
        window.clearTimeout(timer);
    }
}


function hideShareMenu() {
    if (!$(jbtnId).data('in') && !$(jwinId).data('in') && !$(jwinId).data('hidden')) {
        //$(jwinId).fadeOut('fast');
        $(jwinId).css("display","none");
        $(jbtnId).removeClass('active');
        $(jwinId).data('hidden', true);
    }
    shareTimer = undefined;
}


function initToolbarLinkBtn() {

    $(jbtnId).click(function() {
        if($(jbtnId).data('in')) {
            killSetTimer(shareTimer);
            $(jbtnId).data('in', false);
            hideShareMenu();
        }
        else {
            var iconBtnPos = getXYAndSize(this);
            var winSharePos = getXYAndSize($(jwinId)[0]);
            
            var toppos = 0;
            if(isIE6() || isIE7()) {
                toppos = (iconBtnPos.height) + 10;
            }
            else {
                toppos = (iconBtnPos.top + iconBtnPos.height);
            }
            
            $(jwinId).css({
                'top': (toppos + 'px'),
                'margin-left': '-110px'
                //'left': ((iconBtnPos.left - winSharePos.width) + iconBtnPos.width) + 'px'
            });
            
            //alert("(" + iconBtnPos.top + " + " + iconBtnPos.height + ")");
            //alert("((" + iconBtnPos.left + " - " + winSharePos.width + ") + " + iconBtnPos.width +")");
            
            //$(jwinId).fadeIn('normal');
            $(jwinId).css("display","block");
            $(jbtnId).addClass('active');
            $(jbtnId).data('in', true);
            $(jwinId).data('hidden', false);
        }
    });
    
    $(jwinId).mouseleave(function() {
        $(jbtnId).data('in', false);
        shareTimer = window.setTimeout(hideShareMenu, delay);
    }).mouseenter(function() {
        killSetTimer(shareTimer);
    });
    
}
// ****************************************************************
// Share this : END
// ****************************************************************


function markSiteSelectorMenuItem() {
    if ($(".links").length) {
        var listCount = $(".links li").length;
    
        $(".links li").each(function(index) {
            if($(this).hasClass("active")) { $(this).removeClass("active"); }
            
            var selSiteIndex = false;
            if($(this).children("a[href^='/']").length) { // selector element that starts with href attribute with char '/' ex: '/en/'
                if(!$(this).hasClass("active")) { $(this).addClass("active"); }
                selSiteIndex = true;
            }
            else {
                
            }
            
            if(index == 0) {
                if(!$(this).hasClass("first")) { $(this).addClass("first"); }
                
                if(selSiteIndex) {
                    $(".links div.left").removeClass("left").addClass("active_left");
                }
            }
            
            if( (listCount == (index+1)) && selSiteIndex ) {
                $(".links div.right").removeClass("right").addClass("active_right");
            }
        });
    }
}


function fixWidthinEachLoop(obj,selector,isIdElement) {
    var $o = $(obj);
    var oWidth;
    if(isIdElement) {
        oWidth = ($o[0].offsetWidth > 0) ? $o[0].offsetWidth : $o[0].scrollWidth;
        if($o.children(".b").length) {
            $o.children(".b").css("width", oWidth + "px");
        }
    }
    else {
        if($o.children(selector).length) {
            oWidth = $o.children(selector)[0].offsetWidth;
            if($o.children(selector).children(".b").length) {
                $o.children(selector).children(".b").css("width", oWidth + "px");
            }
        }
    }
}


function DigitalAssetsFixForIE7() {
    if($(".digital-assets").length && isIE7()) {
        $(".digital-assets").each(function() {
            fixWidthinEachLoop(this,".framed_box");
        });
    }
    
    if($("#QuizContainer").length && isIE7()) {
        $("#QuizContainer").each(function() {
            fixWidthinEachLoop(this,null,true);
        });
    }
}


function initializeBase() {
    if($("#search_outline").length && (isIE6() || isIE7()) ) {
        $("#search_outline").css("width","95%");
    }

    $("#search_form").submit(function() {
        return false;
    });

    $("#searchTextBox").focus(function() {
        if ($(this).val() == searchHelpText) {
            $(this).removeClass('inputblank').addClass('inputText').val('');
        }
    }).blur(function() {
        if ($(this).val() == '') {
            $(this).addClass('inputblank').val(searchHelpText);
        }
    });

    $(document.body).bind("click", function() {
        if ($("#search_result_dropdown").css("display") != "none") {
            $("#search_result_dropdown").css("display", "none");
        }
    });
    
    initTabs();
    initToolbarLinkBtn();
    markSiteSelectorMenuItem();
    DigitalAssetsFixForIE7();
}

function initialize() {
    initializeBase();

//    if ((activeTab != undefined) && (activeTab != ''))
//        ResizePageFrameAndTabContent(activeTab);
//    else
//        ResizePageFrameAndTabContent(0);
        
    if (($.browser.msie && $.browser.version == "6.0") || ($.browser.msie && $.browser.version == "7.0")) {
        $(function() {
            var zIndexNumber = 1000;
            $('#content_outline div').each(function() {

                if ('absolute' != $(this).css('position')) {
                    if (this.id == 'content_wrapper') {
                        return;
                    }
                    if (this.id == 'page_frame_shadow_top') {
                        $(this).css({
                            position: 'relative',
                            zIndex: -999
                        });
                        return;
                    }
                    $(this).css({
                        position: 'relative',
                        zIndex: zIndexNumber
                    });
                }
                zIndexNumber -= 5;
            });
        });
    }

    //Thank You message for Contact form.
    // showThankYouMessage();
}
