﻿function readCookie(cookieName) {
    var name = cookieName + "=";
    var arrCookies = document.cookie.split(';');
    for (var i = 0; i < arrCookies.length; i++) {
        var c = arrCookies[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(name) == 0) return unescape(c.substring(name.length, c.length));
    }
    return null;
}

function setCookie(name, value) {
    var time = new Date();
    time.setTime(time.getTime() + 30 * 24 * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + "; expires=" + time.toGMTString();
}
var ie6 = false;
  if ($.browser.msie && parseFloat($.browser.version)<=6.0)
  {
  ie6 = true;
  }
      
var onSaveSetting = null;
var settingVal = null;
var settingValList = null;
var parseValueFuns = [
function(val) { return val == "true" }
, function(val) { return parseInt(val); }
];
function initSettingByVal(id) {
    var settingList = $("#" + id).find("[setting]");
    for (var i = 0; i < settingValList.length && i < settingList.length; i++) {
        var obj = $(settingList[i]);
        var attrName = obj.attr("setting");
        if (attrName == "text" || attrName == "tabindex") {
            obj.val(settingValList[i]);
        }
        else {
            obj.attr(attrName, settingValList[i]);
        }
    }
}
function initSettingByStr(id) {
    settingValList = new Array();
    var valList = settingVal.split("|");
    var settingList = $("#" + id).find("[setting]");
    for (var i = 0; i < valList.length && i < settingList.length; i++) {
        var obj = $(settingList[i]);
        var attrName = obj.attr("setting");
        if (attrName == "text" || attrName == "tabindex") {
            obj.val(valList[i]);
            settingValList.push(valList[i]);
        }
        else {
            var parseFun = obj.attr("parseFun");
            var val = null;
            if (parseFun) {
                val = parseValueFuns[parseInt(parseFun)](valList[i]);
            }
            else {
                val = parseValueFuns[0](valList[i]);
            }
            obj.attr(attrName, val);
            settingValList.push(val);            
        }
    }
}
function initSetting() {
    var id = "Settings";
 
    if (!settingVal) {
        settingVal = readCookie(id);
    }
    if (settingVal) {
        if (settingValList) {
            initSettingByVal(id);
        }
        else {
            initSettingByStr(id);
        }
    }
    else {
        saveSetting(id);
    }
}
function saveSetting() {
    var id = "Settings";
    settingValList = new Array();
    var settingList = $("#" + id).find("[setting]");
    for (var i = 0; i < settingList.length; i++) {
        var obj = $(settingList[i]);
        var attrName = obj.attr("setting");
        if (attrName == "text") {
            
            settingValList.push(obj.val());
        }
        else {
            settingValList.push(obj.attr(attrName));
        }
    }
    settingVal = settingValList.join("|");    
    setCookie(id, settingVal);
    hideSetting(id);
    if (onSaveSetting) {
        onSaveSetting();
        AdjustHeight();
    }
    return false;
}
function showSetting() {
    if (ie6) {
        $("select").each(function() { $(this).css("margin-left", "-2000px"); });
    }
    var id = "Settings";
    if (!settingVal) {
        initSetting(id);
    }
    var menuObj = $("#" + id);
    menuObj.show();

  
    return false;
}
function hideSetting() {
    if (ie6) {
        $("select").each(function() { $(this).css("margin-left", "0"); });
    }
    var id = "Settings";

    $("#" + id).hide();
}
function cancelSetting() {
    var id = "Settings";

    hideSetting(id);
    initSetting(id);
}
function AdjustHeight() {
    if (typeof (_IG_AdjustIFrameHeight) != "undefined") {
        _IG_AdjustIFrameHeight();
    }
}
ShareManager = function() {
    this.UrlServer = "http://search.morningstar.com/tmp/Widget/Tmpl.ashx?w=400&h=370&sr=wt0110";
    this.LinkList = ["news", "mktbarometer","qt","video","msmbarometer"];
    this.wids = ["49c74fe0ec6e0733", "49c7507b53fce65d", "49dddaace636d6c1","4aa60b98a79a306f","4ac310348fc81280"];
    this.previousLinks = new Array();
    this.previousLinks["igoogle"] = "http://www.google.com/ig/add?moduleurl=";
    this.vid;
    this.exName;
    this.description;
    this.bookMarkUrl;
    this.getLink = function(cn, idx) {
    return this.previousLinks[cn] + encodeURIComponent(this.UrlServer + "&cn=" + cn + "&c=" + this.LinkList[idx]);
    };
    this.openLink = function(cn, idx) {
        window.open(this.getLink(cn, idx));
        return false;
    };
    var panelWidth = null;

    var panelHeight = null;
    this.createBtn = function()
    {
        panelWidth = $(window).width()-5;
        if (panelWidth > 300) {
            panelWidth = 300;
        }
        if(curContentIdx == 4 && panelWidth > 200)
        {
            panelWidth = 200;
        }
        panelHeight = $(window).height();
        if (panelHeight > 240) {
            panelHeight = 240;
        }
        
        var x = $Launchpad.ShowButton({ wid: shareManager.wids[curContentIdx], menuWidth: panelWidth, menuHeight: panelHeight,
        bookmarkUrl:this.bookMarkUrl, config:{"vid": this.vid,"Description":this.description,"ExName":this.exName},
        targetElement: "shareMenuPanel", actionElement: "BtnAddMore"});


    };
    this.addToGoogle = function() {
        this.openLink("igoogle", curContentIdx);
        return false;
    };
    this.resetMenuPosition = function() {
        var pos = $("#shareMenu").position();
        var left = pos.left + 80;
        var top = pos.top - panelHeight - 50;
        if (top < 0) {
            top = 0;
        }
        //for Barameter.
        if(curContentIdx == 4)
        {
            left = $("#barameter").width() - 198;
            top = $("#shareMenu").position().top - 240;
        }
        //end for Barameter.
        $("#shareMenuPanel").css("top", top + "px");
        $("#shareMenuPanel").css("left", left + "px");
        return false;
    };
};
var shareManager = new ShareManager();
var curContentIdx = 0;





