﻿var CurrencyConverter = {
    convert: function(amount) {
        CurrencyConverter.Blackout.Show();
        document.getElementById("CurrencyConverterIFrame").src = "http://www.outdoorni.com/CurrencyConverter.aspx?amount=" + encodeURIComponent(amount);
        document.getElementById("CurrencyConverter").style.visibility = "visible";
        CenterObject(document.getElementById("CurrencyConverter"));
    },

    hide: function() {
        document.getElementById("CurrencyConverter").style.visibility = "hidden";
        document.getElementById("CurrencyConverter").style.top = "-1000px";
        CurrencyConverter.Blackout.Hide();
        document.getElementById("CurrencyConverterIFrame").src = "";
    },

    GetScrollPosition: function() {
        var x = window.pageXOffset ? window.pageXOffset : 0;
        if (document.documentElement && document.documentElement.scrollLeft > x) x = document.documentElement.scrollLeft;
        if (document.body && document.body.scrollLeft > x) x = document.body.scrollLeft;
        var y = window.pageYOffset ? window.pageYOffset : 0;
        if (document.documentElement && document.documentElement.scrollTop > y) y = document.documentElement.scrollTop;
        if (document.body && document.body.scrollTop > y) y = document.body.scrollTop;
        return { x: x, y: y };
    },

    GetScrollSize: function() {
        var xScroll, yScroll;
        if (window.innerHeight && window.scrollMaxY) {
            xScroll = document.body.scrollWidth;
            yScroll = window.innerHeight + window.scrollMaxY;
        } else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
            xScroll = document.body.scrollWidth;
            yScroll = document.body.scrollHeight;
        } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
            xScroll = document.body.offsetWidth;
            yScroll = document.body.offsetHeight;
        }
        return { x: xScroll, y: yScroll };
    },

    GetWindowSize: function() {
        var windowWidth, windowHeight;
        if (self.innerHeight) {	// all except Explorer
            windowWidth = self.innerWidth;
            windowHeight = self.innerHeight;
        } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
            windowWidth = document.documentElement.clientWidth;
            windowHeight = document.documentElement.clientHeight;
        } else if (document.body) { // other Explorers
            windowWidth = document.body.clientWidth;
            windowHeight = document.body.clientHeight;
        }

        return { width: windowWidth, height: windowHeight };
    },

    GetDocumentSize: function() {
        var scrollSize = CurrencyConverter.GetScrollSize();
        var windowSize = CurrencyConverter.GetWindowSize();

        // for small pages with total height less then height of the viewport
        if (scrollSize.y < windowSize.height) {
            pageHeight = windowSize.height;
        } else {
            pageHeight = scrollSize.y;
        }

        // for small pages with total width less then width of the viewport
        if (scrollSize.x < windowSize.width) {
            pageWidth = windowSize.width;
        } else {
            pageWidth = scrollSize.x;
        }

        return { width: pageWidth, height: pageHeight };
    },

    ShowForeground: function() {
        var objsObject = document.getElementsByTagName("OBJECT");
        for (var i = 0; i < objsObject.length; i++) objsObject[i].style.visibility = "visible";
        var objsObject = document.getElementsByTagName("EMBED");
        for (var i = 0; i < objsObject.length; i++) objsObject[i].style.visibility = "visible";
    },

    HideForeground: function() {
        var objsObject = document.getElementsByTagName("OBJECT");
        for (var i = 0; i < objsObject.length; i++) objsObject[i].style.visibility = "hidden";
        var objsObject = document.getElementsByTagName("EMBED");
        for (var i = 0; i < objsObject.length; i++) objsObject[i].style.visibility = "hidden";
    },

    ShowIE6Foreground: function() {
        var objsSelect = document.getElementsByTagName("SELECT");
        for (var i = 0; i < objsSelect.length; i++) objsSelect[i].style.visibility = "visible";
    },

    HideIE6Foreground: function() {
        var objsSelect = document.getElementsByTagName("SELECT");
        for (var i = 0; i < objsSelect.length; i++) objsSelect[i].style.visibility = "hidden";
    },

    RegisterWindowResizeEvent: function(objFunction) {
        var existingHandler = window.onresize;
        if (typeof window.onresize != 'function') {
            window.onresize = objFunction;
        } else {
            window.onresize = function() {
                if (existingHandler) existingHandler();
                objFunction();
            }
        }
    }
}

CurrencyConverter.Blackout = {
    N: 0,
    objBlackout: null,

    Create: function(hexColor) {
        this.objBlackout = document.createElement("div");
        this.objBlackout.style.cssText = "position:absolute;z-index:5;visibility:hidden;width:100%;height:1px;top:0px;left:0px;background-color:#" + (hexColor != null && /^[0-9A-Fa-f]{6}$/.test(hexColor) ? hexColor : "303132") + ";opacity:0.87;-moz-opacity:0.87;filter:alpha(opacity=87);";
        this.objBlackout.appendChild(document.createTextNode(" "));
        document.body.appendChild(this.objBlackout);
        CurrencyConverter.RegisterWindowResizeEvent(function() { CurrencyConverter.Blackout.Render(); });
    },

    Show: function(hexColor) {
        CurrencyConverter.HideForeground();
        if (navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.indexOf("MSIE 6.0") > -1 || navigator.appVersion.indexOf("MSIE 5.5") > -1)) CurrencyConverter.HideIE6Foreground();
        if (this.objBlackout == null) this.Create(hexColor);
        if (this.N == 0) {
            this.objBlackout.style.visibility = "visible";
            this.Render();
        }
        this.N++;
    },

    Render: function() {
        if (this.objBlackout != null && this.objBlackout.style.visibility == "visible") {
            this.objBlackout.style.height = "1px";
            this.objBlackout.style.height = CurrencyConverter.GetDocumentSize().height + "px";
        }
    },

    Hide: function() {
        CurrencyConverter.ShowForeground();
        if (navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.indexOf("MSIE 6.0") > -1 || navigator.appVersion.indexOf("MSIE 5.5") > -1)) CurrencyConverter.ShowIE6Foreground();
        if (this.N == 1) {
            this.objBlackout.style.visibility = "hidden";
        }
        this.N--;
    }
};

document.write(
	'<div id="CurrencyConverter" style="visibility:hidden;position:absolute;z-index:12;left:0px;top:-1000px;width:398px;height:268px;background-image:url(http://www.outdoorni.com/i/CurrencyConverter-Bg.png);background-repeat:no-repeat">' +
		'<div style="padding:160px 39px 0px 39px;text-align:center">' +
			'<iframe id="CurrencyConverterIFrame" style="width:319px;height:36px;margin:0px;border-width:0px" frameborder="0" marginwidth="0" marginheight="0"></iframe>' +
		    '<div><input type="button" value="Close" onclick="CurrencyConverter.hide()" /></div>' +
		'</div>' +
	'</div>'
);