﻿var additiv = function() {

    var MouseButtonLeft = 1;
    var MouseButtonRight = 2;
    var MouseButtonMiddle = 3;

    function FormatCurrency(n, c, d, t) { c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); };

    function GetMouseButton(evt) {
        var button;

        evt = (evt) ? evt : ((window.event) ? window.event : "");

        if (evt.which == null)
        /* IE case */
            button = (evt.button < 2) ? MouseButtonLeft :
                 ((evt.button == 4) ? MouseButtonMiddle : MouseButtonRight);
        else
        /* All others */
            button = (evt.which < 2) ? MouseButtonLeft :
                 ((evt.which == 2) ? MouseButtonMiddle : MouseButtonRight);

        return button;
    }

    function SetDisplay(element, visible) {
        if (visible) {
            element.style.display = "block";
        }
        else {
            element.style.display = "none";
        }

    }

    function SetVisibility(elementId, visible) {
        var element = $get(elementId);

        if (visible) {
            element.style.visibility = "visible";
        }
        else {
            element.style.visibility = "hidden";
        }

    }

    function ToggleDisplay(visibleElementId, invisibleElementId) {
        $get(invisibleElementId).style.display = "none";
        $get(visibleElementId).style.display = "block";
    }

    function GetCookieValue(name) {
        debugger;
        var m = document.cookie.match(new RegExp("(" + name + "=[^;]*)(;|$)"));

        return m ? m[1] : null;
    }

    function SetCookie(name, value, expires, path, domain, secure) {
        // set time, it's in milliseconds
        var today = new Date();
        today.setTime(today.getTime());

        /*
        if the expires variable is set, make the correct
        expires time, the current script below will set
        it for x number of days, to make it for hours,
        delete * 24, for minutes, delete * 60 * 24
        */
        if (expires) {
            expires = expires * 1000 * 60 * 60 * 24;
        }
        var expires_date = new Date(today.getTime() + (expires));

        document.cookie = name + "=" + escape(value) +
            ((expires) ? ";expires=" + expires_date.toGMTString() : "") +
            ((path) ? ";path=" + path : "") +
            ((domain) ? ";domain=" + domain : "") +
            ((secure) ? ";secure" : "");
    }

    function GetCookie(check_name) {
        // first we'll split this cookie up into name/value pairs
        // note: document.cookie only returns name=value, not the other components
        var a_all_cookies = document.cookie.split(';');
        var a_temp_cookie = '';
        var cookie_name = '';
        var cookie_value = '';
        var b_cookie_found = false; // set boolean t/f default f

        for (i = 0; i < a_all_cookies.length; i++) {
            // now we'll split apart each name=value pair
            a_temp_cookie = a_all_cookies[i].split('=');


            // and trim left/right whitespace while we're at it
            cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

            // if the extracted name matches passed check_name
            if (cookie_name == check_name) {
                b_cookie_found = true;
                // we need to handle case where cookie has no value but exists (no = sign, that is):
                if (a_temp_cookie.length > 1) {
                    cookie_value = unescape(a_temp_cookie[1].replace(/^\s+|\s+$/g, ''));
                }
                // note that in cases where cookie is initialized but no value, null is returned
                return cookie_value;
                break;
            }
            a_temp_cookie = null;
            cookie_name = '';
        }
        if (!b_cookie_found) {
            return null;
        }

    }

    // this deletes the cookie when called
    function DeleteCookie(name, path, domain) {
        if (GetCookie(name)) document.cookie = name + "=" +
            ((path) ? ";path=" + path : "") +
            ((domain) ? ";domain=" + domain : "") +
            ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
    }

    function GetRandomNumber(minimum, maximum) {
        if (minimum > maximum) {
            return (-1);
        }
        if (minimum == maximum) {
            return (minimum);
        }

        return minimum + parseInt(Math.random() * (maximum - minimum + 1));
    }

    return {

        SetVisibility: function(elementId, visible) {
            SetVisibility(elementId, visible);
        },
        ToggleDisplay: function(visibleElementId, invisibleElementId) {
            ToggleDisplay(visibleElementId, invisibleElementId);
        },
        SetDisplay: function(element, visible) {
            SetDisplay(element, visible);
        },
        FormatCurrency: function(n, c, d, t) {
            return FormatCurrency(n, c, d, t);
        },
        GetMouseButton: function(evt) {
            return GetMouseButton(evt);
        },
        SetCookie: function(name, value, expires, path, domain, secure) {
            SetCookie(name, value, expires, path, domain, secure);
        },
        GetCookie: function(name) {
            return GetCookie(name);
        },
        DeleteCookie: function(name, path, domain) {
            DeleteCookie(name, path, domain);
        },
        Format: function(text) {
            for (i = 1; i < arguments.length; i++) {
                text = text.replace('{' + (i - 1) + '}', arguments[i]);
            }

            return text;
        },
        GetRandomNumber: function(minimum, maximum) {
            return GetRandomNumber(minimum, maximum);
        }

    };
} ();


additiv.CopySnippet = function(id, markup) {
    var snippetElement = $get(id);
    if (snippetElement != null) {
        var markupContainer = document.createElement('div');
        markupContainer.innerHTML = markup;

        var elements = markupContainer.getElementsByTagName("span");

        for (var index = 0; index < elements.length; index++) {
            if (elements[index].id == id) {
                var snippet = elements[index].innerHTML;
                snippetElement.innerHTML = snippet;
                return true;
            }
        }

        return true;
    }
    else {
        return false;
    }
}

additiv.AccordionTeaser = function(id) {

    var _behavior = null;

    var _blockChange = false;

    function UnblockChange() {
        _blockChange = false;
    }

    function OpenPane(paneIndex) {

        //debugger;
        if (_blockChange) return;

        _blockChange = true;
        window.setTimeout(UnblockChange, 10);
        _behavior.set_SelectedIndex(paneIndex);

        for (var currentPaneIndex = 0; currentPaneIndex < _behavior.get_Count(); currentPaneIndex++) {

            if (paneIndex == currentPaneIndex) {
                _behavior.get_Pane(currentPaneIndex).header.style.display = "none";
                _behavior.get_Pane(currentPaneIndex).content.style.display = "block";
            }
            else {
                _behavior.get_Pane(currentPaneIndex).header.style.display = "block";
                _behavior.get_Pane(currentPaneIndex).content.style.display = "none";
            }
        }
    }

    function Init() {
        _behavior = $get(id).AccordionBehavior;
        if (_behavior != null) {
            $addHandler(_behavior.get_Pane(0).header, "mouseover", function() { OpenPane(0); });
            $addHandler(_behavior.get_Pane(1).header, "mouseover", function() { OpenPane(1); });
            $addHandler(_behavior.get_Pane(2).header, "mouseover", function() { OpenPane(2); });

            OpenPane(0);
        }
    }

    Sys.Application.add_load(Init);
}

function ReinitializeAddThis() {
    if (window.addthis) {
        window.addthis.ost = 0;
        window.addthis.ready();
    }
}



