var speed = 325;
var i = 0;
var $base_url = "http://www.ipreo.com/";

$().ready(function() {
    init();
});

function bannerHover ($this){
    $this.siblings().children().stop().fadeTo(speed, 0);
    $this.siblings().stop().fadeTo(speed, 0.33);
    $this.children().stop().fadeTo(speed, 1);
}

function dialogPopup(options) {
    $("#" + options.id).dialog("open");
    $("#" + options.id).dialog("option", "title", options.title);
    if (options.src != null) {
        $("#" + options.modalIFrameID).attr("src", options.src);
    }
}

function setCookie(cookieName, cv) {
    try {
        $.cookie(cookieName, cv, {
            expires : 90,
            path : '/'
        });
    } catch (ex) {
        alert("Cookies could not be set!\nError: " + ex.message);
    }
}

function clearCache(cachedCollection) {
    $.each(cachedCollection, function(i, val) {
        setCookie(val, null);
    });
}

function checkNavState() {
    var navActive = $("#productID").val();

    if (navActive) {
        $(".local_nav_container a").removeClass("local_nav_active");
        $("#" + navActive).addClass("local_nav_active")
        .parents(".local_nav_sub_nav").show().end()
        .parents(".local_nav_sub_nav").siblings()
        .addClass("collapsible").removeClass("expandable");
    }
    $("#" + navActive).siblings().children("expanded").removeClass("expanded");
}

function isW3C() {
    return $.support.cssFloat;
}

function modalW3C(isW3C) {
    var modalW3C = "<div id='modalDialog' title='Dialog Title'>";
    modalW3C += "<iframe id='modal_iframe' width='100%' height='100%' frameborder='0' src='" + $base_url 

    +"accessibility.html'></iframe></div>";

    var modalIE = "<div id='modalDialog' title='Dialog Title'>";
    modalIE += "<iframe id='modal_iframe' width='100%' height='100%' scrolling='yes' horizontalscrolling='no'";
    modalIE += "verticalscrolling='yes' frameborder='0' src='" + $base_url +"accessibility.html'></iframe></div>";

    var modal =  isW3C ? modalW3C : modalIE;

    return modal
}

function loadModals() {
    isW3C() ? $("#wrapper").append(modalW3C(true)) : $("#wrapper").append(
        modalW3C(false));

    $("#modalDialog").dialog( {
        autoOpen : false,
        width : 800,
        height : 500,
        modal : true,
        buttons : {
            "Close" : function() {
                $(this).dialog("close");
            }
        }
    });
}

function loadDocsDownloadsWin() {
    $("#docList").dialog( {
        autoOpen : false,
        width : 400,
        height : 300,
        modal : true,
        resizable : true,
        buttons : {
            "Close" : function() {
                $(this).dialog("close");
            }
        }
    });
}

function activeTab(page) {
    if (page.indexOf("cm") != -1) {
        $("#cm_tab").addClass("active");
    } else if (page.indexOf("rst") != -1) {
        $("#rst_tab").addClass("active");
    } else if (page.indexOf("cir") != -1) {
        $("#cir_tab").addClass("active");
    } else if (page.indexOf("about") != -1) {
        $("#about_tab").addClass("active");
    }
}

function treeAction($this) {
    $this.parent().siblings().children(".local_nav_sub_nav:visible").jQSliderToggle({
        speed : 400
    });
    $this.parent().siblings().children(".siteMapNoLink").addClass("expandable").removeClass("collapsible");
    $this.hasClass("expandable") ? $this.addClass("collapsible").removeClass("expandable") : $this.addClass

    ("expandable").removeClass("collapsible");
    $this.siblings().jQSliderToggle({
        speed : 400
    });
}

function setActiveRegion(regActive) {
    var selIdx = "";
    
    switch (regActive) {
        case "apac": case "apacRdo": case "apac_overview":
            selIdx = 2;
            break;
        case "europe_and_mena": case "euRdo": case "eu_overview":
            selIdx = 1;
            break;
        case"americas": case "americasRdo": case "amer_overview":
            selIdx = 0;
    }
    return selIdx;
}

function loadRegTabs(t, tCC, index, page) {
    var regContent = $("#region_content_container div");

    if (page == "sitemap") return;

    $('#' + t).length > 0 && $('#' + tCC).length > 0 ? $.jQTabs(t, tCC, {
        selected : index
    }) : "";

    $(regContent.get(index)).show();
}

function dropDownAction(e,_this) {
    var $this = _this;
    var $parents = $this.parents('div.docListContainer');
    var $slider = $parents.children('div.docListWrapper');
    var hideVisibleDD = function(){
        $("div.docListWrapper:visible").stop().animate( {
            height : 0
        }, 300, function() {
            $("div.docListWrapper").hide();
        });
    }

    if ($this.hasClass("docsDropDownBtn") || $this.hasClass("docListHeader")){
        e.preventDefault();
    }
    hideVisibleDD();
    var h = $slider.height() <= 0 ? "115px" : "0";
    $slider.stop().animate( {
        height : h
    }, 300,
    function() {
        if ($slider.height() == 0){
            $slider.hide();
        }
    });
}

function loadRegionsModal(page){
    $("#cirHome #regionDialog").dialog( {
        closeOnEscape: false,
        autoOpen : false,
        width : 400,
        height : 125,
        modal : true
    });
    if (page == 'cirHome' && $.cookie("defaultRegion") == null){
        loadRegTabs("tabs", "tabsContentContainer", setActiveRegion($("#productRegion").val()));
        $("#regionDialog").dialog("open");
        $("#regionDialog").dialog("option", "title","Please Select a Region");
    }
    else if (page == 'cirHome' && $.cookie("defaultRegion") && $.cookie("regOffSet") == null) {
        loadRegTabs("tabs", "tabsContentContainer", setActiveRegion($.cookie("defaultRegion")));
    }
    else if (page == 'cirHome' && $.cookie("defaultRegion") && $.cookie("regOffSet")) {
        loadRegTabs("tabs", "tabsContentContainer", setActiveRegion($.cookie("regOffSet")));
        setCookie('regOffSet', null);
    }
}

function init() {
    var page = $("body").attr("id");
    var url = location.href;
    checkNavState();
    loadModals();
    encryptEmails();
    activeTab(page);
    loadRegTabs("tabs", "tabsContentContainer", setActiveRegion($("#productRegion").val()), page);
    loadRegionsModal(page);    
    
   
    
    
//    $("#searchTxtBox").click(function(){
//        $("#searchDiv").animate({width:290}, 300)
//        $("#searchTxtBox").animate({width:252}, 300)
//    }).blur(function(){        
//        $("#searchDiv").animate({width:96}, 300)
//        $("#searchTxtBox").animate({width:54}, 50)
//    })
  
    
    // restrict where "pagination control" is available
    if (url.search("Media") != -1 && $("#local_content_container").size() > 0){
        
        
        
    }
    
    //one-off to hide media contact and "About Ipreo" for "CITI LAUNCHES TABLET-BASED IPO SOLUTION FOR ISSUERS"
    if (url.indexOf("Citi_Selects_Ipreo_to_Deliver_Citi_Issuer_Access")!= -1){
        $("p strong:contains('About Ipreo')").hide();
        $("p:contains('Ipreo is a premier global provider of high quality data')").hide();
        $("ul:contains('Kate McKay')").hide();
        $("h3:contains('Citi Selects Ipreo to Deliver Citi Issuer Access')").text('CITI LAUNCHES TABLET-BASED IPO SOLUTION FOR ISSUERS')
    }
   
    //show micro site icon on home page only
    //page == "home" ? $("#micro_site").show() : $("#micro_site").hide();
   
    //one-off 
    if (url.indexOf("Municipals/Document_Management") != -1){
        $(".docListWrapper .bluesquare li a[href$='iProspectus_and_ProspectusDirect.pdf']").attr("href", 

            "/pdf/datasheets/capital_markets/iProspectus_and_ProspectusDirect_MUNI.pdf")
    }

    $("#amer_overview, #eu_overview, #apac_overview").click(function(){
        var regOffSet = $(this).attr('id');
        setCookie("regOffSet", regOffSet);
    })

    if (url.indexOf("Data") != -1){
        $("ul.local_nav_sub_nav.expanded:visible").hide();
        $(".local_nav_container:visible").find("ul.local_nav_sub_nav.expanded:hidden").siblings().removeClass

        ("collapsible").addClass("expandable");
    }

   

    $("#regionDialog input").click(function(){
        var defaultRegionID = $(this).attr('id');
        setCookie("defaultRegion", defaultRegionID);
        loadRegTabs("tabs", "tabsContentContainer", setActiveRegion($.cookie("defaultRegion")));
        $("#regionDialog").dialog("close");
    })

    $("#tabsContainer #tabs div").click(function(e){
        var regContent = $("#region_content_container div");
        var regTabs = $("#tabsContainer #tabs div");
        var regTabActive = regTabs.index($(this));
        regContent.hide();
        $(regContent.get(regTabActive)).show();
    });

    $("#tabs div").click(function() {
        var regActiveID = $(this).attr("id");
    });

    $("a.docsDropDownBtn, div.docListHeader, html").bind("click", function(e) {
        e.stopPropagation();
        dropDownAction(e,$(this));
    });

    $(".bluesquare .docs li a, #docList").click(function(e) {
        e.stopPropagation();
    });

    $("#verticals_cm, #verticals_rst, #verticals_cir").hover(
        function(event){
            var id = event.target.id;
            bannerHover($(this), id);
        },
        function(){
            var sibsChildren = $(this).siblings();

            $(this).stop().fadeTo("fast", 1);
            $(this).children(":eq(1)").stop().fadeTo(speed, 0);
            $.each(sibsChildren,
                function(){
                    $(this).children(":eq(0)").stop().fadeTo(speed, 1);
                }
                )

            $(this).siblings().stop().fadeTo(speed, 1);
        }
        )

    $("#about_ipreo_tab_wrapper").hover(function() {
        $("#about_ipreo_tab_wrapper").stop().animate( {
            height : "198px"
        }, 300);
    }, function() {
        $("#about_ipreo_tab_wrapper").stop().animate( {
            height : "27px"
        }, 300);
    });

    $("#about_ipreo_tab_contents div").hover(function() {
        $(this).addClass("about_ipreo_tab_div_over");
    }, function() {
        $(this).removeClass("about_ipreo_tab_div_over");
    });

    $("#legal li a.modal_link").click(function(e) {
        var title = $(this).attr("title");
        var src = $(this).attr("href");

        dialogPopup( {
            title : title,
            src : src,
            id : "modalDialog",
            modalIFrameID : "modal_iframe"
        });
        e.preventDefault();
    });

    $(".expandable, .collapsible").click(function(e) {
        if (page == 'sitemap'){
            return;
        }
        treeAction($(this));
        e.preventDefault();
    });

    $("#about_ipreo_tab_bar").click(function() {
        location.href = $base_url +"About";
    });

    $("a[href$='.pdf']").click(function() {
        $(this).attr("target", "_blank");
    });
}
