Type.registerNamespace('Carnegie');

Carnegie.CampaignArea = function() {
    this._mappings = [];
    this._areaName = null;
    this._displayField = null;
    this._returning = false;
    this._activeFieldIndex = 0;
    this._defaultHeight = null;

    this._currentDisplayFieldValue = null;

    Carnegie.CampaignArea.initializeBase(this);
}

Carnegie.CampaignArea.prototype = {
    initialize: function() {
        Carnegie.CampaignArea.callBaseMethod(this, "initialize");

        var prm = Sys.WebForms.PageRequestManager.getInstance();
        var t = this;
        prm.add_pageLoading(function(s, e) {
            t.onPageLoading();
        });
        prm.add_endRequest(function(s, e) {
            t.onEndRequest(t);
        });
        prm.add_pageLoaded(function() {
            t.initLinks(t);
        });
        t.initLinks(t);
        var areaName = this._areaName;
        jQuery.historyInit(function(hash) {
            if (hash != t.get_displayFieldValue()) {
                t._returning = true;
                __doPostBack(areaName, hash);
            }
        });
    },

    onPageLoading: function() {
        var $ca = jQuery("#CampaignArea");
        var fixH = $ca.height();
        $ca.css("height", fixH + "px").css("overflow", "hidden");
    },

    onEndRequest: function(t) {

        var $ca = jQuery("#CampaignArea");
        //restore searchbutton			
        jQuery(".QuickSearch .do_search").attr("src", "/Functions/Search/Images/SearchButton.gif").removeClass("loader");

        setTimeout(function() {
            //If the current and the previous sender are not the same (to avoid miscalculations)
            //if (t._currentDisplayFieldValue != t.get_displayFieldValue()) {
                var $children = $ca.children();
                var h = 0;
                t._currentDisplayFieldValue = t.get_displayFieldValue();

                if (t._currentDisplayFieldValue == null || t._currentDisplayFieldValue == "close") {
                    //If the extension area should be visible
                    var currentNode = jQuery($children).get(0);
                    h = jQuery(currentNode).height() + 0;
                    //jQuery(currentNode).css("width", "auto").css("overflow", "visible").css("padding", "0 10px 10px 10px");
                    jQuery(currentNode).css("visibility", "visible").css("overflow", "visible").css("padding", "0 10px 0px 10px");

                    if (t._defaultHeight != null) {
                        h = t._defaultHeight;
                    }
                    
                    //Offset of bottom-padding when closing. Depends on browser and of MSIE version
                    offset=0;
                    if(navigator.appName=="Microsoft Internet Explorer"){
                        offset=7; 
                        if(navigator.appVersion.indexOf("MSIE 6")>0 && $j("#CampaignArea object")[0]){ 
                            offset=0;
                        }    
                    }
                }
                else {
                    //If the campaign/search area should be visible
                    var extensionNode = jQuery($children).get(0);
                    if (t._defaultHeight == null) {
                        t._defaultHeight = jQuery(extensionNode).height();
                    }

                    var currentNode = jQuery($children).get(1);

                    //If the extension area is not present there will be no area at index 1
                    if (currentNode == null) {
                        currentNode = jQuery($children).get(0);
                    }

                    var currentNodeArray = jQuery(currentNode).children();
                    //var currentItem = jQuery(currentNodeArray).get(1);
                    var currentItem = currentNodeArray[1];
                    h = jQuery(currentItem).height() + 10;

                    //Hide the extension area (if it contains an extension area)
                    if (extensionNode.id == "RegionCampaignContent") {
                        jQuery(extensionNode).css("visibility", "hidden").css("overflow", "hidden").css("padding", "0"); //Orsakar att den trycks ihop helt och hållet i FF3
                    }
                    offset=10;

                }

                $ca.animate({ height: h > 20 ? h + offset : 0 }, "normal", "linear", function() {
                    if (t._returning)
                        t._returning = false;
                    else if (t.get_areaName()) // new
                        jQuery.historyLoad(t.get_displayFieldValue());
                });
            //}
        }, 200);
    },

    initLinks: function(t) {
        if (typeof (caMappings) == "undefined")
            return;
        for (var i = 0; i < caMappings.length; ++i) {
            t.initLink(t, caMappings[i]);
        }
        var an = this._areaName;

    },

    initLink: function(t, mapping) {
        var el = $get(mapping.id);
        if (el && !el.initialized) {
            el.initialized = true;
            var an = this._areaName;
            var ai = this._areaId;
            var key = mapping.key;
            jQuery(el).each(function() {
                this.hash = key;
            }).click(function(args) {
                args.preventDefault();
                __doPostBack(an, key);
            });
        }
    },

    dispose: function() {
        Carnegie.CampaignArea.callBaseMethod(this, "dispose");
    },

    get_areaName: function() {
        return this._areaName;
    },
    set_areaName: function(value) {
        this._areaName = value;
    },

    get_displayField: function() {
        return this._displayField;
    },
    set_displayField: function(value) {
        this._displayField = value;
    },

    get_displayFieldValue: function() {
        return $get(this._displayField).value;
    }
}

Carnegie.CampaignArea.registerClass("Carnegie.CampaignArea", Sys.Component);





/*Type.registerNamespace('Carnegie');

Carnegie.CampaignArea = function() {
    this._mappings = [];
    this._areaName = null;
    this._displayField = null;
    this._returning = false;
    this._activeFieldIndex = 0;
    this._defaultHeight = null;

    this._currentDisplayFieldValue = null;

    Carnegie.CampaignArea.initializeBase(this);
}

Carnegie.CampaignArea.prototype = {
    initialize: function() {
        Carnegie.CampaignArea.callBaseMethod(this, "initialize");

        var prm = Sys.WebForms.PageRequestManager.getInstance();
        var t = this;
        prm.add_pageLoading(function(s, e) {
            t.onPageLoading();
        });
        prm.add_endRequest(function(s, e) {
            t.onEndRequest(t);
        });
        prm.add_pageLoaded(function() {
            t.initLinks(t);
        });
        t.initLinks(t);
        var areaName = this._areaName;
        jQuery.historyInit(function(hash) {
            if (hash != t.get_displayFieldValue()) {
                t._returning = true;
                __doPostBack(areaName, hash);
            }
        });
    },

    onPageLoading: function() {
        var $ca = jQuery("#CampaignArea");
        var fixH = $ca.height();
        $ca.css("height", fixH + "px").css("overflow", "hidden");
    },

    onEndRequest: function(t) {

        var $ca = jQuery("#CampaignArea");
        //restore searchbutton			
        jQuery(".QuickSearch .do_search").attr("src", "/Functions/Search/Images/SearchButton.gif").removeClass("loader");

        setTimeout(function() {
            //If the current and the previous sender are not the same (to avoid miscalculations)
            if (t._currentDisplayFieldValue != t.get_displayFieldValue()) {
                var $children = $ca.children();
                var h = 0;
                t._currentDisplayFieldValue = t.get_displayFieldValue();

                if (t._currentDisplayFieldValue == null || t._currentDisplayFieldValue == "close") {
                    //If the extension area should be visible
                    var currentNode = jQuery($children).get(0);
                    h = jQuery(currentNode).height() + 0;
                    //jQuery(currentNode).css("width", "auto").css("overflow", "visible").css("padding", "0 10px 10px 10px");
                    jQuery(currentNode).css("visibility", "visible").css("overflow", "visible").css("padding", "0 10px 10px 10px");

                    if (t._defaultHeight != null) {
                        h = t._defaultHeight;
                    }
                }
                else {
                    //If the campaign/search area should be visible
                    var extensionNode = jQuery($children).get(0);
                    if (t._defaultHeight == null) {
                        t._defaultHeight = jQuery(extensionNode).height();
                    }

                    var currentNode = jQuery($children).get(1);

                    //If the extension area is not present there will be no area at index 1
                    if (currentNode == null) {
                        currentNode = jQuery($children).get(0);
                    }

                    var currentNodeArray = jQuery(currentNode).children();
                    //var currentItem = jQuery(currentNodeArray).get(1);
                    var currentItem = currentNodeArray[1];
                    h = jQuery(currentItem).height() + 10;

                    //Hide the extension area (if it contains an extension area)
                    if (extensionNode.id == "RegionCampaignContent") {
                        //jQuery(extensionNode).css("width", "0").css("overflow", "hidden").css("padding", "0");
                        jQuery(extensionNode).css("visibility", "hidden").css("overflow", "hidden").css("padding", "0"); //Orsakar att den trycks ihop helt och hållet i FF3
                    }

                }

                $ca.animate({ height: h > 20 ? h + 10 : 0 }, "normal", "linear", function() {
                    if (t._returning)
                        t._returning = false;
                    else if (t.get_areaName()) // new
                        jQuery.historyLoad(t.get_displayFieldValue());
                });
            }
        }, 200);
    },

    initLinks: function(t) {
        if (typeof (caMappings) == "undefined")
            return;
        for (var i = 0; i < caMappings.length; ++i) {
            t.initLink(t, caMappings[i]);
        }
        var an = this._areaName;

    },

    initLink: function(t, mapping) {
        var el = $get(mapping.id);
        if (el && !el.initialized) {
            el.initialized = true;
            var an = this._areaName;
            var ai = this._areaId;
            var key = mapping.key;
            jQuery(el).each(function() {
                this.hash = key;
            }).click(function(args) {
                args.preventDefault();
                __doPostBack(an, key);
            });
        }
    },

    dispose: function() {
        Carnegie.CampaignArea.callBaseMethod(this, "dispose");
    },

    get_areaName: function() {
        return this._areaName;
    },
    set_areaName: function(value) {
        this._areaName = value;
    },

    get_displayField: function() {
        return this._displayField;
    },
    set_displayField: function(value) {
        this._displayField = value;
    },

    get_displayFieldValue: function() {
        return $get(this._displayField).value;
    }
}

Carnegie.CampaignArea.registerClass("Carnegie.CampaignArea", Sys.Component);
*/
