

if (typeof (TopUp) == "undefined") {

    var scriptElement = (function deriveScriptElement() {
        var id = "tu_dummy_script";
        document.write('<script id="' + id + '"></script>');

        var dummyScript = document.getElementById(id);
        var element = dummyScript.previousSibling;

        dummyScript.parentNode.removeChild(dummyScript);
        return element;
    } ());
    var scriptHost = (function deriveScriptHost() {
        var src = scriptElement.getAttribute("src");
        return src.match(/^\w+\:\/\//) ? src.match(/^\w+\:\/\/[^\/]*\//)[0] : "";
    } ());
    var scriptParams = (function deriveScriptParams() {
        var src = scriptElement.getAttribute("src");
        var pairs = ((src.match(/([\?]*)\?(.*)+/) || ["", "", ""])[2] || "").replace(/(^[0123456789]+|\.js(\s+)?$)/, "").split("&");
        var params = {};

        for (var i = 0; i < pairs.length; i++) {
            if (pairs[i] != "") {
                var key_value = pairs[i].split("=");
                if (key_value.length == 2) {
                    params[key_value[0].replace(/^\s+|\s+$/g, "")] = key_value[1].replace(/^\s+|\s+$/g, "");
                }
            }
        }
        return params;
    } ());

    // *
    // * TopUp 1.7.2 (Uncompressed)
    // * The #1 Javascript Pop Up / Lightbox (http://gettopup.com)
    // *
    // * This library requires jQuery (http://jquery.com)
    // *
    // * (c) 2010 Paul Engel (Internetbureau Holder B.V.)
    // * Except otherwise noted, TopUp is licensed under
    // * http://creativecommons.org/licenses/by-sa/3.0
    // *
    // * $Date: 2010-03-07 19:47:47 +0100 (Sun, 07 March 2010) $
    // *

    TopUp = (function () {
        var initialized = false, selector = null, on_ready = [], displaying = false, options = null, group = null, index = null, data = null;
        var fast_mode = false;
        var default_preset = {
            layout: "dashboard",
            effect: "transform",
            resizable: 1
        }, presets = {};

        var extendjQuery = function () {
            jQuery.extend({
                keys: function (hash) {
                    var keys = [];
                    for (var key in hash) {
                        if (hash.hasOwnProperty(key)) {
                            keys.push(key);
                        }
                    }
                    return keys;
                },
                ie: jQuery.browser.msie,
                ie6: jQuery.browser.msie && parseInt(jQuery.browser.version, 10) == 6,
                ie7: jQuery.browser.msie && parseInt(jQuery.browser.version, 10) == 7,
                ie8: jQuery.browser.msie && parseInt(jQuery.browser.version, 10) == 8,
                ff2: jQuery.browser.mozilla && parseFloat(jQuery.browser.version) < 1.9
            });
            jQuery.fn.extend({
                id: function () {
                    if (!this.is("[id]")) {
                        var id = "";
                        var counter = 0;
                        do { id = "element_" + counter++; } while (jQuery("#" + id).length);
                        jQuery(this).attr("id", id);
                    }
                    return jQuery(this).attr("id");
                },
                markerId: function () {
                    return "_" + this.id() + "_marker";
                },
                bubbleDetect: function (selector, separator) {
                    var detected = null;
                    var element = this;
                    jQuery.each(selector.split(separator || ","), function (i, e) {
                        var selector = jQuery.trim(e);
                        if (jQuery(selector).index(element) != -1) {
                            detected = { element: jQuery(element), selector: selector };
                        }
                    });
                    return detected || (element.parent()[0] ? jQuery(element.parent()[0]).bubbleDetect(selector, separator) : null);
                },
                center: function () {
                    var css = { top: parseInt((jQuery(window).height() - this.outerHeight()) / 2, 10) + jQuery(window).scrollTop(),
                        left: parseInt((jQuery(window).width() - this.outerWidth()) / 2, 10) + jQuery(window).scrollLeft(),
                        position: "absolute"
                    };

                    this.css(css);
                    return this;
                },
                lockDimensions: function () {
                    this.css({ width: this.outerWidth(), height: this.outerHeight() });
                    return this;
                },
                unlockDimensions: function () {
                    this.css({ width: "auto", height: "auto" });
                    return this;
                },
                centerWrap: function (compare) {
                    var current = { width: this.outerWidth(), height: this.outerHeight() }, delta = { width: 0, height: 0 }, diff = 0;

                    // added by Timo Besenreuther (2010-02-24)
                    // fix problem with adjusting height in safari (topup used to gradually move down)
                    compare.find(".te_frame").css("display", "block");

                    diff = compare.outerWidth() - current.width;
                    if (delta.width < diff) {
                        delta.width = diff;
                    }
                    diff = compare.outerHeight() - current.height;

                    if (delta.height < diff) {
                        delta.height = diff;
                    }

                    var offset = this.offset();
                    var css = {
                        top: offset.top - (delta.height === 0 ? 0 : parseInt(delta.height / 2, 10)),
                        left: offset.left - (delta.width === 0 ? 0 : parseInt(delta.width / 2, 10)),
                        width: this.width() + delta.width,
                        height: this.height() + delta.height
                    };

                    if (options.x) {
                        css.left = options.x - parseInt((css.width - compare.outerWidth()) / 2, 10);
                    }
                    if (options.y) {
                        css.top = options.y - parseInt((css.height - compare.outerHeight()) / 2, 10);
                    }

                    jQuery("#tu_center_wrapper").css(css);
                    jQuery("#tu_centered_content").append(this);

                    this.css({
                        top: "auto",
                        left: "auto",
                        width: "auto",
                        height: "auto",
                        display: "inline-block",
                        position: "relative"
                    });

                    if (jQuery.ff2) {
                        this.css({ display: "table" });
                    }
                    if (jQuery.ie) {
                        this.css({ display: "inline" });
                    }

                    jQuery("#tu_center_wrapper").show();

                    return this;
                },
                removeCenterWrap: function (newTopUpWidth) {
                    var position = jQuery("#tu_center_wrapper").offset();

                    // added by Timo Besenreuther (2010-02-24)
                    // this.outerWidth() does not work properly in ie8
                    var delta = {
                        width: jQuery("#tu_center_wrapper").outerWidth() - newTopUpWidth,
                        height: jQuery("#tu_center_wrapper").outerHeight() - this.outerHeight()
                    };

                    this.css({
                        top: position.top + parseInt(delta.height / 2, 10),
                        left: position.left + parseInt(delta.width / 2, 10),
                        position: "absolute"
                    }).appendTo("body");

                    jQuery("#tu_center_wrapper").hide();

                    return this;
                },
                draggableZ: function (opts) {
                    var element = this;

                    this.mousedown(function (event) {
                        if (opts && opts.only && !jQuery(event.target).is(opts.only)) {
                            return;
                        }

                        event.preventDefault();

                        var offset = element.offset();
                        var diff = { top: event.pageY - offset.top, left: event.pageX - offset.left };

                        jQuery("body").addClass("te_dragging");
                        jQuery("*").bind("mousemove.draggable", function (event) {
                            element.css({ top: event.pageY - diff.top, left: event.pageX - diff.left });
                        });
                    });

                    jQuery("#top_up").mouseup(function (event) {
                        jQuery("body").removeClass("te_dragging");
                        jQuery("*").unbind("mousemove.draggable");
                    });
                }
            });
        };
        var injectCode = function () {
            var images_url = TopUp.host + TopUp.images_path;

            var css = '<style type="text/css" media="screen">.te_overflow{overflow:hidden !important}.te_dragging{cursor:move !important}#tu_overlay,.te_top_up{top:0;left:0}#tu_overlay{width:100%;height:100%;position:fixed;z-index:999}#temp_up{top:-9999px;z-index:-1}.te_transparent{opacity:0}.te_shaded{opacity:.65;background:black}.te_scrollable{overflow:auto}.te_top_up{position:absolute;z-index:1000}.te_top_up a{border:0}.te_top_up a:hover{border:0}.te_top_up .ui-resizable-se{position:absolute !important;background-color:transparent !important;border:0 !important}.te_wrapper{position:relative}.te_title{width:100%;color:white;font-family:"Lucida Grande", "Arial";font-size:11px;position:absolute;text-align:center;z-index:1001}.te_frame,#tu_center_wrapper{border-collapse:collapse}.te_frame tr,.te_frame td{margin:0;padding:0}.te_frame .te_left,.te_frame .te_middle,.te_frame .te_right{padding:0}.te_controls{position:absolute;z-index:1001}.te_close_link,.te_previous_link,.te_next_link{cursor:pointer}.te_close_link{position:absolute;z-index:1002}.te_previous_link,.te_next_link{display:block;float:left}#tu_center_wrapper{position:absolute;z-index:1000}#tu_loader{width:100%;height:100%;position:absolute;background:url(' + images_url + 'loader.gif) no-repeat 50% 50%;display:block;z-index:1003} #top_up .te_dashboard .ui-resizable-se{width:10px !important;height:10px !important;bottom:12px !important;right:10px !important;background-image:url(' + images_url + 'dashboard/sprite.png) !important;background-position:0 0 !important}.te_dashboard .te_title{top:-9px;font-weight:bold;text-shadow:1px 1px 1px black}.te_dashboard .te_corner,.te_dashboard .te_rib{background-image:url(' + images_url + 'dashboard/sprite.png)}.te_dashboard .te_top,.te_dashboard .te_bottom{height:20px}.te_dashboard .te_left_filler{width:20px}.te_dashboard .te_right_filler{width:19px}.te_dashboard .te_middle .te_middle{background:url(' + images_url + 'dashboard/middle.png)}.te_dashboard .te_top .te_left{background-position:-17px -29px}.te_dashboard .te_top .te_middle{background-position:0 -71px}.te_dashboard .te_top .te_right{background-position:-33px -29px}.te_dashboard .te_middle .te_left{background-position:-17px -232px}.te_dashboard .te_middle .te_right{background-position:-33px -232px}.te_dashboard .te_bottom .te_left{background-position:-17px -47px}.te_dashboard .te_bottom .te_middle{background-position:-17px -89px}.te_dashboard .te_bottom .te_right{background-position:-33px -47px}.te_dashboard .te_content{margin:-11px -12px -11px -13px}.te_dashboard .te_controls{left:50%;width:63px;height:29px;margin-left:-33px;padding-left:5px;bottom:35px;background-image:url(' + images_url + 'dashboard/sprite.png);background-position:0 -178px}.te_dashboard .te_previous_link,.te_dashboard .te_next_link{width:31px;height:29px;background-image:url(' + images_url + 'dashboard/sprite.png)}.te_dashboard .te_previous_link{background-position:66px -113px}.te_dashboard .te_next_link{background-position:30px -113px}.te_dashboard .te_previous_link:hover{background-position:66px -142px}.te_dashboard .te_next_link:hover{background-position:30px -142px}.te_dashboard .te_close_link{width:28px;height:26px;top:-19px;right:10px;background-image:url(' + images_url + 'dashboard/sprite.png);background-position:-20px 0} #top_up .te_quicklook .ui-resizable-se{width:10px !important;height:10px !important;bottom:12px !important;right:9px !important;background-image:url(' + images_url + 'quicklook/sprite.png) !important;background-position:-75px -181px !important}.te_quicklook .te_title{top:6px}.te_quicklook .te_corner,.te_quicklook .te_rib{background-image:url(' + images_url + 'quicklook/sprite.png)}.te_quicklook .te_top{height:24px}.te_quicklook .te_bottom{height:56px}.te_quicklook .te_left_filler,.te_quicklook .te_right_filler{width:12px}.te_quicklook .te_middle .te_middle{background:url(' + images_url + 'quicklook/middle.png)}.te_quicklook .te_top .te_left{background-position:0 0}.te_quicklook .te_top .te_middle{background-position:0 -30px}.te_quicklook .te_top .te_right{background-position:12px 0}.te_quicklook .te_middle .te_left{background-position:0 -181px}.te_quicklook .te_middle .te_right{background-position:12px -181px}.te_quicklook .te_bottom .te_left{background-position:0 -122px}.te_quicklook .te_bottom .te_middle{background-position:0 -61px}.te_quicklook .te_bottom .te_right{background-position:12px -122px}.te_quicklook .te_content{margin:0 -7px}.te_quicklook .te_controls{left:50%;width:66px;margin-left:-33px;bottom:18px}.te_quicklook .te_previous_link,.te_quicklook .te_next_link{width:31px;height:29px;margin:0 1px;background-image:url(' + images_url + 'quicklook/sprite.png)}.te_quicklook .te_previous_link{background-position:89px -195px}.te_quicklook .te_next_link{background-position:52px -195px}.te_quicklook .te_previous_link:hover{background-position:89px -226px}.te_quicklook .te_next_link:hover{background-position:52px -226px}.te_quicklook .te_close_link{width:13px;height:13px;top:7px;left:9px;background-image:url(' + images_url + 'quicklook/sprite.png);background-position:-24px -181px} #top_up .te_flatlook .ui-resizable-se{width:10px !important;height:10px !important;bottom:22px !important;right:14px !important;background-image:url(' + images_url + 'flatlook/sprite.png) !important;background-position:-75px -181px !important}.te_flatlook .te_title{top:5px;text-shadow:1px 1px 2px #2A2A2A}.te_flatlook .te_corner,.te_flatlook .te_rib{background-image:url(' + images_url + 'flatlook/sprite.png)}.te_flatlook .te_top{height:26px}.te_flatlook .te_bottom{height:29px}.te_flatlook .te_left_filler,.te_flatlook .te_right_filler{width:21px}.te_flatlook .te_middle .te_middle{background:url(' + images_url + 'flatlook/middle.png) repeat-x top}.te_flatlook .te_top .te_left{background-position:0 0}.te_flatlook .te_top .te_middle{background-position:0 -29px}.te_flatlook .te_top .te_right{background-position:-89px 0}.te_flatlook .te_middle .te_left{background-position:0 -181px}.te_flatlook .te_middle .te_right{background-position:-89px -181px}.te_flatlook .te_bottom .te_left{background-position:0 -90px}.te_flatlook .te_bottom .te_middle{background-position:0 -58px}.te_flatlook .te_bottom .te_right{background-position:-89px -90px}.te_flatlook .te_content{margin:-2px -11px -3px -11px}.te_flatlook .te_controls{left:50%;width:66px;margin-left:-33px;bottom:18px}.te_flatlook .te_previous_link,.te_flatlook .te_next_link{width:31px;height:29px;margin:0 1px;background-image:url(' + images_url + 'flatlook/sprite.png)}.te_flatlook .te_previous_link{background-position:89px -195px}.te_flatlook .te_next_link{background-position:52px -195px}.te_flatlook .te_previous_link:hover{background-position:89px -226px}.te_flatlook .te_next_link:hover{background-position:52px -226px}.te_flatlook .te_close_link{width:13px;height:13px;top:6px;left:15px;background-image:url(' + images_url + 'flatlook/sprite.png);background-position:-24px -181px}</style>';
            var ie7fix = '<style type="text/css" media="screen">.te_dashboard .te_content{margin-bottom:-14px}</style>';
            var ie6fix = '<style type="text/css" media="screen">.te_dashboard .te_content{margin-bottom:-13px}.te_dashboard .te_controls{width:65px;padding-left:3px}.te_dashboard .te_top .te_left,.te_dashboard .te_top .te_middle,.te_dashboard .te_top .te_right{background-image:none}.te_dashboard .te_middle .te_left,.te_dashboard .te_middle .te_right{background-image:none}.te_dashboard .te_bottom .te_left,.te_dashboard .te_bottom .te_middle,.te_dashboard .te_bottom .te_right{background-image:none}.te_dashboard .te_controls,.te_dashboard .te_previous_link,.te_dashboard .te_next_link,.te_dashboard .te_close_link{background-image:none}.te_dashboard .te_top .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/top_left.png" , sizingMethod="crop" )}.te_dashboard .te_top .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/top_middle.png" , sizingMethod="scale")}.te_dashboard .te_top .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/top_right.png" , sizingMethod="crop" )}.te_dashboard .te_middle .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/middle_left.png" , sizingMethod="scale")}.te_dashboard .te_middle .te_middle{filter:alpha(opacity = 75);background:black}.te_dashboard .te_middle .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/middle_right.png" , sizingMethod="scale")}.te_dashboard .te_bottom .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/bottom_left.png" , sizingMethod="crop" )}.te_dashboard .te_bottom .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/bottom_middle.png", sizingMethod="scale")}.te_dashboard .te_bottom .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/bottom_right.png" , sizingMethod="crop" )}.te_dashboard .te_controls{background:#505455}.te_dashboard .te_previous_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/previous.png" , sizingMethod="crop" )}.te_dashboard .te_next_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/next.png" , sizingMethod="crop" )}.te_dashboard .te_close_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'dashboard/close_link.png" , sizingMethod="crop" )} .te_quicklook .te_bottom{height:55px}.te_quicklook .te_controls{width:67px}.te_quicklook .te_top .te_left,.te_quicklook .te_top .te_middle,.te_quicklook .te_top .te_right{background-image:none}.te_quicklook .te_middle .te_left,.te_quicklook .te_middle .te_right{background-image:none}.te_quicklook .te_bottom .te_left,.te_quicklook .te_bottom .te_middle,.te_quicklook .te_bottom .te_right{background-image:none}.te_quicklook .te_previous_link,.te_quicklook .te_next_link,.te_quicklook .te_close_link{background-image:none}.te_quicklook .te_top .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/top_left.png" , sizingMethod="crop" )}.te_quicklook .te_top .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/top_middle.png" , sizingMethod="scale")}.te_quicklook .te_top .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/top_right.png" , sizingMethod="crop" )}.te_quicklook .te_middle .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/middle_left.png" , sizingMethod="scale")}.te_quicklook .te_middle .te_middle{filter:alpha(opacity = 70);background:black}.te_quicklook .te_middle .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/middle_right.png" , sizingMethod="scale")}.te_quicklook .te_bottom .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/bottom_left.png" , sizingMethod="crop" )}.te_quicklook .te_bottom .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/bottom_middle.png", sizingMethod="scale")}.te_quicklook .te_bottom .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/bottom_right.png" , sizingMethod="crop" )}.te_quicklook .te_previous_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/previous.png" , sizingMethod="crop" )}.te_quicklook .te_next_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/next.png" , sizingMethod="crop" )}.te_quicklook .te_close_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'quicklook/close_link.png" , sizingMethod="crop" )} .te_flatlook .te_bottom{height:55px}.te_flatlook .te_controls{width:67px}.te_flatlook .te_top .te_left,.te_flatlook .te_top .te_middle,.te_flatlook .te_top .te_right{background-image:none}.te_flatlook .te_middle .te_left,.te_flatlook .te_middle .te_right{background-image:none}.te_flatlook .te_bottom .te_left,.te_flatlook .te_bottom .te_middle,.te_flatlook .te_bottom .te_right{background-image:none}.te_flatlook .te_previous_link,.te_flatlook .te_next_link,.te_flatlook .te_close_link{background-image:none}.te_flatlook .te_top .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/top_left.png" , sizingMethod="crop" )}.te_flatlook .te_top .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/top_middle.png" , sizingMethod="scale")}.te_flatlook .te_top .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/top_right.png" , sizingMethod="crop" )}.te_flatlook .te_middle .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/middle_left.png" , sizingMethod="scale")}.te_flatlook .te_middle .te_middle{filter:alpha(opacity = 70);background:black}.te_flatlook .te_middle .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/middle_right.png" , sizingMethod="scale")}.te_flatlook .te_bottom .te_left{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/bottom_left.png" , sizingMethod="crop" )}.te_flatlook .te_bottom .te_middle{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/bottom_middle.png", sizingMethod="scale")}.te_flatlook .te_bottom .te_right{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/bottom_right.png" , sizingMethod="crop" )}.te_flatlook .te_previous_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/previous.png" , sizingMethod="crop" )}.te_flatlook .te_next_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/next.png" , sizingMethod="crop" )}.te_flatlook .te_close_link{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + images_url + 'flatlook/close_link.png" , sizingMethod="crop" )}</style>';
            var iefix = '<style type="text/css" media="screen">#tu_overlay{top:expression((ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px");left:expression((ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft) + "px");position:absolute}.te_transparent{filter:alpha(opacity = 0)}.te_shaded{filter:alpha(opacity = 65)}.te_content{position:relative;zoom:1}</style>';
            var html = '<div id="tu_overlay" onclick="TopUp.overlayClose()" style="display: none"></div><div id="top_up" class="te_top_up" style="display: none"><div class="te_wrapper"><div class="te_title"></div><table class="te_frame"><tr class="te_top"><td class="te_left te_corner"><div class="te_left_filler"></div></td><td class="te_middle te_rib"></td><td class="te_right te_corner"><div class="te_right_filler"></div></td></tr><tr class="te_middle"><td class="te_left te_rib"></td><td class="te_middle"><div class="te_content"><!-- Content --></div></td><td class="te_right te_rib"></td></tr><tr class="te_bottom"><td class="te_left te_corner"></td><td class="te_middle te_rib"></td><td class="te_right te_corner"></td></tr></table><div class="te_controls" style="display: none"><a class="te_previous_link" onclick="TopUp.previous()"></a><a class="te_next_link" onclick="TopUp.next()"></a></div><a class="te_close_link" onclick="TopUp.close()" style="display: none"></a></div></div><div id="temp_up" class="te_top_up te_transparent"><div class="te_wrapper"><div class="te_title"></div><table class="te_frame"><tr class="te_top"><td class="te_left te_corner"><div class="te_left_filler"></div></td><td class="te_middle te_rib"></td><td class="te_right te_corner"><div class="te_right_filler"></div></td></tr><tr class="te_middle"><td class="te_left te_rib"></td><td class="te_middle"><div class="te_content"><!-- Content --></div></td><td class="te_right te_rib"></td></tr><tr class="te_bottom"><td class="te_left te_corner"></td><td class="te_middle te_rib"></td><td class="te_right te_corner"></td></tr></table><div class="te_controls" style="display: none"><a class="te_previous_link" onclick="TopUp.previous()"></a><a class="te_next_link" onclick="TopUp.next()"></a></div><a class="te_close_link" onclick="TopUp.close()" style="display: none"></a></div></div><table id="tu_center_wrapper" style="display: none"><tr valign="middle"><td id="tu_centered_content" align="center"><!-- Top ups --></td></tr></table><div id="tu_loader" style="display: none"></div>';

            if (!jQuery("head").length) {
                jQuery(document.body).before("<head></head>");
            }
            jQuery(css).prependTo("head");

            if (jQuery.ie7 || jQuery.ie8) {
                jQuery(ie7fix).insertAfter("head > style:first");
            }
            if (jQuery.ie6) {
                jQuery(ie6fix).insertAfter("head > style:first");
            }
            if (jQuery.ie) {
                jQuery(iefix).insertAfter("head > style:first");
            }

            jQuery(html).appendTo("body");
        };
        var bind = function () {
            var coptions = [];

            // added by Timo Besenreuther (2010-02-24) / modified by Paul Engel (2010-02-25)
            if (!fast_mode) {
                coptions.push("[class^=tu_][class*=x]");
                jQuery.each(["db", "ql", "fl", "image", "html", "dom", "iframe", "ajax", "script"], function (i, coption) {
                    coptions.push("[class^=tu_][class*=_" + coption + "]");
                });
            }

            selector = jQuery.merge([".top_up", "[toptions]", coptions.join(",")], jQuery.keys(presets)).join();

            jQuery(selector).live("click", topUpClick);
            jQuery(document).bind("keyup", documentKeyPress);
        };

        // added by Timo Besenreuther (2010-02-24)
        // fade duration 0 prevents black frame from flashing
        var fadeDuration = function (duration) {
            return jQuery.ie8 || jQuery.ie7 || jQuery.ie6 ? 0 : duration;
        };

        var topUpClick = function (event) {
            TopUp.displayTopUp(jQuery(event.target));
            return false;
        };
        var documentKeyPress = function (event) {
            if (jQuery("#top_up").is(":hidden") || jQuery(event.target).is(":input")) {
                return;
            }

            switch (event.keyCode) {
                case 27:
                    TopUp.close(); break;
                case 37:
                    TopUp.previous(); break;
                case 39:
                    TopUp.next(); break;
            }
        };

        var deriveTopUpOptions = function (topUp, opts) {
            var toptions = jQuery.extend({}, { topUp: "#" + topUp.element.id(), preset: topUp.selector });

            jQuery.each(topUp.element.attr("class").split(/\s/), function (i, c) {
                if (c.match(/^tu_/)) {
                    jQuery.each(c.replace(/^tu_/, "").split("_"), function (j, coption) {
                        switch (coption) {
                            case "db": case "ql": case "fl":
                                toptions["layout"] = { "db": "dashboard", "ql": "quicklook", "fl": "flatlook"}[coption]; break;
                            case "image": case "html": case "dom": case "iframe": case "ajax": case "script":
                                toptions["type"] = coption; break;
                            default:
                                if (coption.match(/\dx\d/)) {
                                    toptions["width"] = coption.split("x")[0];
                                    toptions["height"] = coption.split("x")[1];
                                }
                        }
                    });
                }
            });

            if (topUp.element.is("[toptions]")) {
                jQuery.each(topUp.element.attr("toptions").split(","), function (i, option) {
                    var key_value = option.split("=");
                    toptions[jQuery.trim(key_value[0])] = jQuery.trim(key_value[1]);
                });
            }

            if (toptions.noGroup && parseInt(toptions.noGroup, 10) == 1) {
                toptions.group = null;
            }

            if (opts) {
                toptions = jQuery.extend(toptions, opts);
            }

            return toptions;
        };
        var deriveOptions = function (reference, opts, store) {
            var result = jQuery.extend({}, default_preset);

            if (opts) {
                if (presets[opts.preset]) {
                    result = jQuery.extend(result, presets[opts.preset]);
                }
                result = jQuery.extend(result, opts);
            }

            if (result.ondisplay && !jQuery.isFunction(result.ondisplay)) {
                var fdisplay = result.ondisplay;
                result.ondisplay = function () { eval(fdisplay); };
            }
            if (result.onclose && !jQuery.isFunction(result.onclose)) {
                var fclose = result.onclose;
                result.onclose = function () { eval(fclose); };
            }

            if (store) {
                result.reference = result.reference ? jQuery(result.reference) : reference;
                if (!result.type) {
                    result.type = deriveType(reference);
                }
                if (movieContentDisplayed(result)) {
                    result.resizable = 0;
                }
                options = jQuery.extend({}, result);
            }

            return result;
        };
        var deriveType = function (reference) {
            if (reference.toLowerCase().match(/\.(gif|jpg|jpeg|png)(\?[0123456789]+)?$/)) {
                return "image";
            }
            if (reference.toLowerCase().match(/\.(swf)(\?[0123456789]+)?$/)) {
                return "flash";
            }
            if (reference.toLowerCase().match(/\.(flv)(\?[0123456789]+)?$/)) {
                return "flashvideo";
            }
            if (reference.toLowerCase().match(/\.(aif|aiff|aac|au|bmp|gsm|mov|mid|midi|m4a|m4v|mp4|psd|qt|qtif|qif|qti|snd|tif|tiff|wav|3g2|3gp|wbmp)(\?[0123456789]+)?$/)) {
                return "quicktime";
            }
            if (reference.toLowerCase().match(/\.(ra|ram|rm|rpm|rv|smi|smil)(\?[0123456789]+)?$/)) {
                return "realplayer";
            }
            if (reference.toLowerCase().match(/\.(asf|avi|wma|wmv|mpg|mpeg|mp3)(\?[0123456789]+)?$/)) {
                return "windowsmedia";
            }
            return "ajax";
        };
        var movieContentDisplayed = function (opts) {
            return jQuery.inArray((opts || options).type, ["flash", "flashvideo", "quicktime", "realplayer", "windowsmedia"]) != -1;
        };

        var deriveGroup = function () {
            if (options.group) {

                if (!(group && group.name == options.group)) {
                    group = { name: options.group, items: jQuery([]) };
                    jQuery.each(jQuery(selector), function (i, e) {
                        if (!jQuery(e).is("[tu_group]")) {
                            jQuery(e).attr("tu_group", deriveOptions(null, deriveTopUpOptions(jQuery(e).bubbleDetect(selector))).group);
                        }

                        if (jQuery(e).attr("tu_group") == group.name) {
                            group.items = group.items.add(e);
                        }
                    });
                }

                var ids = jQuery.map(group.items, function (e, i) {
                    return "#" + jQuery(e).id();
                });
                index = options.topUp ? jQuery.inArray(options.topUp, ids) : -1;

            } else {
                group = null;
            }
        };

        var navigateInGroup = function (step) {
            if (group === null) {
                return;
            }

            index = index + step;

            if (index < 0) {
                index = group.items.length - 1;
            }
            if (index > group.items.length - 1) {
                index = 0;
            }

            TopUp.displayTopUp(group.items[index]);
        };

        var prepare = function () {
            if (jQuery("#top_up .te_frame").resizable) {
                jQuery("#top_up .te_frame").resizable("destroy");
            }

            jQuery("#top_up .te_title").fadeOut(fadeDuration(200));
            if (!(group && group.items.length > 1)) {
                jQuery("#top_up .te_controls").fadeOut(fadeDuration(200));
            }

            jQuery(".te_wrapper").attr("class", "te_wrapper te_" + options.layout);
            jQuery(".te_frame,.te_content").unlockDimensions();

            if (parseInt(options.shaded, 10) == 1) {
                jQuery("#tu_overlay").addClass("te_shaded");
            } else {
                jQuery("#tu_overlay").removeClass("te_shaded");
            }

            if ((parseInt(options.modal, 10) == 1) || (parseInt(options.shaded, 10) == 1) || (parseInt(options.overlayClose, 10) == 1)) {
                if (jQuery.ie8) {
                    var fixOverlay = function () {
                        jQuery('#tu_overlay').css('top', document.body.parentElement.scrollTop + 'px');
                    };
                    fixOverlay.apply();
                    window.onresize = fixOverlay;
                    jQuery(window).bind('scroll', fixOverlay);
                }
                jQuery("#tu_overlay").show();
            } else {
                jQuery("#tu_overlay").hide();
            }

            // added by Timo Besenreuther (2009-11-14) / modified by Paul Engel (2009-11-14)
            var altText = "";
            if (options.topUp && (options.topUp != "") && ((parseInt(options.readAltText, 10) == 1) || (options.title && options.title.match("{alt}")))) {
                var topUp = jQuery(options.topUp);

                if (topUp.length) {
                    var image = topUp.find("img");
                    if (image.length) {
                        altText = image.attr("alt") || "";
                    }
                    if (altText != "" && !(options.title && options.title.match("{alt}"))) {
                        options.title = "{alt}";
                    }
                }
            }
            options.title = (options.title || "").replace("{alt}", altText).replace("{current}", group === null ? "" : (index + 1)).replace("{total}", group === null ? "" : group.items.length);
        };
        var loadContent = function () {
            switch (options.type) {
                case "image":
                    options.content = new Image();
                    jQuery(options.content).load(function () {
                        options.content = jQuery(this);
                        onContentReady();
                    })
                               .attr("src", options.reference);
                    break;
                case "flash": case "flashvideo": case "quicktime": case "realplayer": case "windowsmedia":
                    loadMovie(options.type, options.reference, options.width, options.height); break;
                case "iframe":
                    options.content = jQuery('<iframe src="' + options.reference + '" frameborder="0" border="0"></iframe>'); break;
                case "html": case "dom":
                    var reference = jQuery(options.reference);
                    if (reference.context) {
                        var marker = jQuery("<div></div>").attr({
                            id: reference.markerId(),
                            "class": (reference.is(":hidden") ? "hidden" : ""),
                            style: "display: none"
                        });
                        options.content = jQuery("<div></div>").append(reference.before(marker).addClass("marked"));
                        reference.show();
                    } else {
                        options.content = jQuery("<div></div>").append(reference);
                    }
                    break;
                case "ajax": case "script":
                    options.content = null;
                    jQuery.ajax({ url: options.reference,
                        type: (parseInt(options.post, 10) == 1) ? "POST" : "GET",
                        cache: false,
                        async: false,
                        data: options.parameters,
                        dataType: (options.type == "ajax") ? "html" : "script",
                        success: onContentReady
                    });
            }

            if (jQuery.inArray(options.type, ["html", "dom", "iframe"]) != -1) {
                onContentReady();
            }
        };
        var loadMovie = function (type, src, width, height) {
            if (!jQuery.ie) {
                switch (options.type) {
                    case "flash":
                        loadFlashContent(); break;
                    case "flashvideo":
                        loadFlashVideoContent(); break;
                    case "quicktime":
                        loadQuickTimeContent(); break;
                    case "realplayer":
                        loadRealPlayerContent(); break;
                    case "windowsmedia":
                        loadWindowsMediaContent(); break;
                }
                return;
            }

            var object_attrs = { width: width, height: height }, params = { src: src }, classid = null, mimetype = null, codebase = null, pluginspage = null;

            switch (type) {
                case "flash": case "flashvideo":
                    classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
                    codebase = "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0";
                    mimetype = "application/x-shockwave-flash";
                    pluginspage = "http://get.adobe.com/flashplayer/";
                    break;
                case "quicktime":
                    classid = "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B";
                    codebase = "http://www.apple.com/qtactivex/qtplugin.cab";
                    mimetype = "video/quicktime";
                    pluginspage = "http://www.apple.com/quicktime/download/";
                    params.scale = "aspect";
                    params.bgcolor = "black";
                    params.showlogo = "false";
                    params.autoplay = "true";
                    break;
                case "realplayer":
                    classid = "clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA";
                    mimetype = "audio/x-pn-realaudio-plugin";
                    pluginspage = "http://www.real.com/freeplayer/?rppr=rnwk";
                    params.controls = "imagewindow";
                    params.console = "one";
                    params.autostart = "true";
                    params.nojava = "true";
                    break;
                case "windowsmedia":
                    classid = "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6";
                    codebase = "http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701";
                    mimetype = "application/x-oleobject";
                    pluginspage = "http://www.microsoft.com/Windows/MediaPlayer/";
                    params.filename = src;
                    params.animationatstart = "true";
                    params.transparentatstart = "true";
                    params.autostart = "true";
                    params.showcontrols = "true";
                    params.showstatusbar = "true";
                    params.windowlessvideo = "true";
                    break;
            }

            switch (type) {
                case "flash": case "flashvideo":
                    params.allowfullscreen = "true";
                case "flashvideo":
                    params.flashvars = "file=" + src + "&autostart=true";
                    src = TopUp.host + TopUp.players_path + "flvplayer.swf";
                    params.src = src;
                    params.movie = src;
                    break;
            }

            object_attrs.codebase = codebase;
            if (window.ActiveXObject) {
                object_attrs.classid = classid;
                object_attrs.data = src;
            }

            var paramTags = "";
            for (var key in params) {
                paramTags += " " + createElementTag("param", { name: key, value: params[key] });
            }

            params.width = width;
            params.height = height;
            params.mimetype = mimetype;
            params.pluginspage = pluginspage;

            var element = document.createElement("div");
            element.innerHTML = createElementTag("object", object_attrs) + paramTags + createElementTag("embed", params) + "</embed></object>";

            options.content = jQuery(element);
            onContentReady();
        };
        var createElementTag = function (tagName, attrs) {
            var html = "<" + tagName;
            for (var key in attrs) {
                html += " " + key + "='" + attrs[key] + "'";
            }
            return html + ">";
        };
        var loadFlashContent = function () {
            var object = jQuery("<object></object>").attr({ width: options.width,
                height: options.height,
                classid: "clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",
                codebase: "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0",
                style: "display: none"
            });

            object.append(jQuery("<param></param>").attr({ name: "src", value: options.reference }));
            object.append(jQuery("<param></param>").attr({ name: "allowfullscreen", value: "true" }));

            object.append(jQuery("<embed></embed>").attr({ src: options.reference,
                width: options.width,
                height: options.height,
                allowfullscreen: "true",
                type: "application/x-shockwave-flash",
                pluginspage: "http://get.adobe.com/flashplayer/"
            }));

            options.content = jQuery("<div></div>").attr({ width: options.width, height: options.height });
            options.content.append(object);
            onContentReady();
        };
        var loadFlashVideoContent = function () {
            var object = jQuery("<object></object>").attr({ width: options.width,
                height: options.height,
                classid: "clsid:D27CDB6E-AE6D-11CF-96B8-444553540000",
                codebase: "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0",
                style: "display: none"
            });

            object.append(jQuery("<param></param>").attr({ name: "movie", value: TopUp.host + TopUp.players_path + "flvplayer.swf" }));
            object.append(jQuery("<param></param>").attr({ name: "flashvars", value: "file=" + options.reference + "&autostart=true" }));
            object.append(jQuery("<param></param>").attr({ name: "allowfullscreen", value: "true" }));

            object.append(jQuery("<embed></embed>").attr({ src: TopUp.host + TopUp.players_path + "flvplayer.swf",
                width: options.width,
                height: options.height,
                flashvars: "file=" + options.reference + "&autostart=true",
                allowfullscreen: "true",
                type: "application/x-shockwave-flash",
                pluginspage: "http://get.adobe.com/flashplayer/"
            }));

            options.content = jQuery("<div></div>").attr({ width: options.width, height: options.height });
            options.content.append(object);
            onContentReady();
        };
        var loadQuickTimeContent = function () {
            var object = jQuery("<object></object>").attr({ width: options.width,
                height: options.height,
                classid: "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B",
                codebase: "http://www.apple.com/qtactivex/qtplugin.cab",
                style: "display: none"
            });

            object.append(jQuery("<param></param>").attr({ name: "src", value: options.reference }));
            object.append(jQuery("<param></param>").attr({ name: "scale", value: "aspect" }));
            object.append(jQuery("<param></param>").attr({ name: "bgcolor", value: "black" }));
            object.append(jQuery("<param></param>").attr({ name: "showlogo", value: "false" }));
            object.append(jQuery("<param></param>").attr({ name: "autoplay", value: "true" }));

            object.append(jQuery("<embed></embed>").attr({ src: options.reference,
                width: options.width,
                height: options.height,
                scale: "aspect",
                bgcolor: "black",
                showlogo: "false",
                autoplay: "true",
                type: "video/quicktime",
                pluginspage: "http://www.apple.com/quicktime/download/"
            }));

            options.content = jQuery("<div></div>").attr({ width: options.width, height: options.height, style: "background: black" });
            options.content.append(object);
            onContentReady();
        };
        var loadRealPlayerContent = function () {
            var object = jQuery("<object></object>").attr({ width: options.width,
                height: options.height,
                classid: "clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA",
                style: "display: none"
            });

            object.append(jQuery("<param></param>").attr({ name: "src", value: options.reference }));
            object.append(jQuery("<param></param>").attr({ name: "controls", value: "imagewindow" }));
            object.append(jQuery("<param></param>").attr({ name: "console", value: "one" }));
            object.append(jQuery("<param></param>").attr({ name: "autostart", value: "true" }));

            object.append(jQuery("<embed></embed>").attr({ src: options.reference,
                width: options.width,
                height: options.height,
                controls: "imagewindow",
                console: "one",
                autostart: "true",
                nojava: "true",
                type: "audio/x-pn-realaudio-plugin",
                pluginspage: "http://www.real.com/freeplayer/?rppr=rnwk"
            }));

            options.content = jQuery("<div></div>").attr({ width: options.width, height: options.height });
            options.content.append(object);
            onContentReady();
        };
        var loadWindowsMediaContent = function () {
            loadQuickTimeContent();
        };

        var onContentReady = function (html) {
            hideLoader();

            if (html) {
                options.content = jQuery(html);
            }

            switch (options.type) {
                case "image": case "html": case "dom": case "iframe":
                    options.resize = options.content;
                    jQuery(".te_content").removeClass("te_scrollable");
                    break;
                default:
                    options.resize = jQuery("#temp_up .te_content");
                    jQuery(".te_content").addClass("te_scrollable");
            }

            if (jQuery("#top_up").is(":hidden")) {
                show();
            } else {
                replace();
            }
        };
        var showLoader = function () {
            var origin = jQuery("#top_up");
            if (jQuery("#top_up").is(":hidden")) {
                origin = jQuery(options.topUp);
                if (!origin.length) {
                    origin = jQuery(document);
                } else if (origin.children().length > 0) {
                    origin = jQuery(origin.children()[0]);
                }
            }
            try {
                var dimensions = { top: origin.offset().top,
                    left: origin.offset().left,
                    width: origin.outerWidth(),
                    height: origin.outerHeight()
                };
            } catch (e) {
                var dimensions = { top: jQuery(window).scrollTop(),
                    left: jQuery(window).scrollLeft(),
                    width: parseInt(jQuery(window).width() / 2, 10),
                    height: parseInt(jQuery(window).height() / 2, 10)
                };
            }

            // added by Timo Besenreuther (2010-02-24)
            // &nbsp; fixes issue in ie6 (current image disappearing while loading)
            jQuery("#tu_loader").html("&nbsp;").css(dimensions).show();
        };
        var hideLoader = function () {
            jQuery("#tu_loader").hide();
        };

        var show = function () {
            setContent();
            setDimensions();

            moveContent("top_up");
            jQuery("#top_up").center();

            if (options.x) {
                jQuery("#top_up").css({ left: parseInt(options.x, 10) });
            }
            if (options.y) {
                jQuery("#top_up").css({ top: parseInt(options.y, 10) });
            }

            switch (options.effect) {
                case "appear": case "fade":
                    jQuery("#top_up").fadeIn(fadeDuration(300), afterDisplay); break;
                case "switch": case "clip":
                    jQuery("#top_up").show("clip", { direction: "vertical" }, 500, afterDisplay); break;
                case "transform":
                    var origin = jQuery(options.topUp);
                    if (origin.children().length > 0) {
                        origin = jQuery(origin.children()[0]);
                    }
                    var tuContent = jQuery("#top_up").find(".te_content");
                    var dimensions = options.topUp ?
                           jQuery.extend({ width: origin.outerWidth(), height: origin.outerHeight() }, origin.offset()) :
			                     { top: parseInt(jQuery(window).height() / 2, 10) - parseInt(tuContent.height() / 2, 10) + jQuery(window).scrollTop(),
			                         left: parseInt(jQuery(window).width() / 2, 10) - parseInt(tuContent.width() / 2, 10) + jQuery(window).scrollLeft(),
			                         width: 10,
			                         height: 10
			                     };

                    transform("from", dimensions, afterDisplay);
                    break;
                default:
                    jQuery("#top_up").show();
                    afterDisplay();
            }
        };

        var replace = function (callback) {
            var isScrollable = jQuery("#top_up .te_content").hasClass("te_scrollable");
            if (isScrollable) {
                jQuery("#top_up .te_content").removeClass("te_scrollable");
            }
            var focusedElement = jQuery("#top_up .te_content :focus");
            var wrapper = jQuery("#top_up .te_content").lockDimensions().wrapInner("<div></div>").children();

            wrapper.fadeOut(fadeDuration(250), function () {
                if (parseInt(options.storeCurrent, 10) == 1) {
                    wrapper.addClass("te_stored_content").hide().find(".te_stored_content").before(wrapper);
                } else {
                    wrapper.children().appendTo("#temp_up .te_content").end().end().remove();
                }

                if (callback) {
                    var arg = jQuery("#temp_up .te_content");
                    if (jQuery.inArray(options.type, ["html", "dom"]) != -1) {
                        arg = arg.children().eq(0);
                    }
                    callback.apply(arg);
                } else {
                    clearContent();
                    setContent();
                }
                if (isScrollable) {
                    jQuery("#top_up .te_content").addClass("te_scrollable");
                }


                setDimensions();

                jQuery("#top_up").centerWrap(jQuery("#temp_up"));

                var animation = { width: jQuery("#temp_up .te_content").outerWidth(),
                    height: jQuery("#temp_up .te_content").outerHeight()
                };

                // added by Timo Besenreuther (2010-02-24)
                // fix problem with changing width in ie8 (topup used to move left)
                var newTopUpWidth = jQuery("#temp_up").outerWidth();
                jQuery("#top_up .te_content").animate(animation, 400, function () {
                    moveContent("top_up");
                    jQuery("#top_up").removeCenterWrap(newTopUpWidth);
                    focusedElement.focus();
                    afterDisplay();
                });
            });
        };

        var setContent = function () {
            options.content.appendTo("#temp_up .te_content");
        };
        var moveContent = function (to) {
            var from = to == "top_up" ? "temp_up" : "top_up";
            jQuery("#" + from + " .te_content").children().appendTo("#" + to + " .te_content");

            if (to == "top_up") {
                jQuery("#top_up .te_content").css({ width: jQuery("#temp_up .te_content").css("width"),
                    height: jQuery("#temp_up .te_content").css("height")
                });
            }
        };
        var clearContent = function () {
            jQuery(".te_content .marked").each(function () {
                var marker = jQuery("#" + jQuery(this).markerId());
                if (marker.hasClass("hidden")) {
                    jQuery(this).hide();
                }
                marker.after(jQuery(this).removeClass("marked")).remove();
            });

            jQuery(".te_content").children(":not(.te_stored_content)").remove();
        };

        var transform = function (direction, dimensions, callback) {
            var topUp = jQuery("#top_up");
            var tuContent = topUp.find(".te_content");

            if (direction == "from") {
                topUp.addClass("te_transparent")
           .show();
            }

            var topUpOffset = topUp.offset();
            var tuContentOffset = tuContent.offset();
            var tuContentDiff = { width: topUp.width() - tuContent.width(),
                height: topUp.height() - tuContent.height()
            };

            dimensions.top -= tuContentOffset.top - topUpOffset.top;
            dimensions.left -= tuContentOffset.left - topUpOffset.left;

            var origin = { top: topUp.css("top"), left: topUp.css("left"), width: topUp.outerWidth(), height: topUp.outerHeight() };
            var opts = { to: direction == "from" ? origin : dimensions, duration: 500 };

            if (direction == "from") {
                opts.to.width -= tuContentDiff.width;
                opts.to.height -= tuContentDiff.height;
            }

            var animation = function () {
                var cb = function () {
                    callback.apply();
                    options.content.removeClass("te_overflow");
                };

                var onReady = direction == "to" ?
                      function () {
                          topUp.fadeOut(fadeDuration(100), cb);
                      } : cb;

                topUp.animate({ top: opts.to.top, left: opts.to.left }, opts.duration);
                options.content.animate({ width: opts.to.width,
                    height: opts.to.height
                }, opts.duration, onReady);
            };

            options.content.addClass("te_overflow");

            if (direction == "from") {
                topUp.css({ top: dimensions.top, left: dimensions.left });
                options.content.css({ width: dimensions.width, height: dimensions.height });

                jQuery(".te_top_up,.te_content").unlockDimensions();

                topUp.hide()
           .removeClass("te_transparent")
           .fadeIn(fadeDuration(150), animation);
            } else {
                animation.apply();
            }
        };
        var afterDisplay = function () {
            var duration = fadeDuration(500);

            if (jQuery("#top_up .te_frame").resizable && parseInt(options.resizable, 10) == 1) {
                var opts = { stop: function () { jQuery("#top_up .te_frame").css({ width: "auto", height: "auto" }); },
                    handles: "se",
                    minWidth: 200, minHeight: 75,
                    alsoResize: "#" + options.resize.id(),
                    aspectRatio: options.type == "image"
                };
                jQuery("#top_up .te_frame").resizable(opts);
            }

            if (jQuery.ie6 || jQuery.ie7) {
                jQuery("#top_up .te_title").css("width", jQuery("#top_up").width());
            }
            jQuery("#top_up .te_title").html(options.title || "")
		                           .fadeIn(duration);

            if (group && group.items.length > 1 && jQuery("#top_up .te_controls").is(":hidden")) {
                if (jQuery.ie6) {
                    jQuery("#top_up .te_controls").show();
                } else {
                    jQuery("#top_up .te_controls").fadeIn(duration);
                }
            }

            if (jQuery("#top_up .te_close_link").is(":hidden")) {
                if (jQuery.ie6) {
                    jQuery("#top_up .te_close_link").show();
                } else {
                    jQuery("#top_up .te_close_link").fadeIn(duration);
                }
            }

            checkPosition();

            jQuery(".te_top_up,.te_content").unlockDimensions();
            if (movieContentDisplayed()) {
                options.content.find("object").show();
            }

            if (options.ondisplay) {
                options.ondisplay.apply(this, [jQuery("#top_up .te_content"), data]);
            }

            displaying = false;
        };

        var setDimensions = function (dimensions) {
            var func = dimensions ? null : checkHeight;

            if (!dimensions) {
                options.resize.unlockDimensions();
                if (jQuery.inArray(options.type, ["image", "html", "dom", "iframe"]) != -1) {
                    jQuery("#temp_up .te_content").unlockDimensions();
                }

                dimensions = {};
                if (options.width) {
                    dimensions.width = parseInt(options.width, 10);
                }
                if (options.height) {
                    dimensions.height = parseInt(options.height, 10);
                }
                if (jQuery.ie6) {
                    jQuery("#top_up .te_title").css("width", jQuery("#temp_up").outerWidth());
                }
            }

            // added by Timo Besenreuther (2010-02-24)
            // close button does not get transformed properly in ie8, so we just hide it
            if (jQuery.ie8) {
                jQuery("#top_up .te_close_link").hide();
            }

            options.resize.css(dimensions);

            // added by Timo Besenreuther (2010-02-24)
            // display close button again after resizing
            if (jQuery.ie8) {
                jQuery("#top_up .te_close").show();
            }

            if (func) {
                func.apply();
            }
        };
        var checkHeight = function () {
            if (jQuery("#temp_up").outerHeight() <= jQuery(window).height() - 4) {
                return;
            }

            var extraHeight = jQuery("#temp_up").outerHeight() - jQuery("#temp_up .te_content").height(),
	      dimensions = { height: jQuery(window).height() - 4 - extraHeight };

            if (options.type == "image") {
                dimensions.width = parseInt(options.content.width() * (dimensions.height / options.content.height()), 10);
            }

            setDimensions(dimensions);
        };
        var checkPosition = function () {
            var offset = jQuery("#top_up").offset();
            var dimensions = { width: jQuery("#top_up").outerWidth(), height: jQuery("#top_up").outerHeight() };
            var position = {};

            if (offset.top - jQuery(window).scrollTop() < 2) {
                position.top = jQuery(window).scrollTop() + 2;
            } else if (offset.top + dimensions.height - jQuery(window).scrollTop() > jQuery(window).height() - 2) {
                position.top = jQuery(window).scrollTop() + jQuery(window).height() - dimensions.height - 2;
            }

            if (offset.left - jQuery(window).scrollLeft() < 2) {
                position.left = jQuery(window).scrollLeft() + 2;
            } else if (offset.left + dimensions.width - jQuery(window).scrollLeft() > jQuery(window).width() - 2) {
                position.left = jQuery(window).scrollLeft() + jQuery(window).width() - dimensions.width - 24;
            }

            if (jQuery.keys(position).length > 0) {
                if (jQuery.ie6 || jQuery.ie7) {
                    // added by Timo Besenreuther (2010-02-24)
                    // IE6&7 somehow lose the content (make sure it is displayed)
                    jQuery("#top_up").css(position);
                    window.setTimeout(function () {
                        jQuery("#top_up .te_content").show();
                    }, 1);
                } else {
                    jQuery("#top_up").animate(position, 300);
                }
            }
        };

        var hide = function (callback) {
            jQuery(".te_content .te_stored_content").removeClass("te_stored_content");

            var duration = fadeDuration(250);
            var onReady = function () {
                animateHide(callback);
            };

            jQuery("#top_up .te_title").fadeOut(duration);
            jQuery("#top_up .te_controls").fadeOut(duration);

            if (movieContentDisplayed()) {
                options.content.find("object").hide();
            }

            if (jQuery.ie) {
                jQuery("#top_up .te_close_link").hide();
                onReady.apply();
            } else {
                jQuery("#top_up .te_close_link").fadeOut(duration, onReady);
            }
        };
        var animateHide = function (callback) {
            var afterHide = function () {
                if (callback) {
                    callback.apply(this, [jQuery("#top_up .te_content"), data]);
                }
                if (options.onclose) {
                    options.onclose.apply(this, [jQuery("#top_up .te_content"), data]);
                }

                clearContent();
                moveContent("temp_up");
            };

            switch (options.effect) {
                case "appear": case "fade":
                    jQuery("#top_up").fadeOut(fadeDuration(300), afterHide); break;
                case "switch": case "clip":
                    jQuery("#top_up").hide("clip", { direction: "vertical" }, 400, afterHide); break;
                case "transform":
                    if (jQuery.ie6) {
                        // added by Timo Besenreuther (2010-02-24)
                        // transforming back to origin sometimes causes problems in ie6
                        jQuery("#top_up").hide();
                        afterHide.apply();
                        break;
                    }
                    var origin = jQuery(options.topUp);
                    if (origin.children().length > 0) {
                        origin = jQuery(origin.children()[0]);
                    }
                    var tuContent = jQuery("#top_up").find(".te_content");
                    var dimensions = options.topUp ?
                           jQuery.extend({ width: origin.outerWidth(), height: origin.outerHeight() }, origin.offset()) :
			                     { top: parseInt(jQuery(window).height() / 2, 10) + jQuery(window).scrollTop(),
			                         left: parseInt(jQuery(window).width() / 2, 10) + jQuery(window).scrollLeft(),
			                         width: 10,
			                         height: 10
			                     };

                    transform("to", dimensions, afterHide);
                    break;
                default:
                    jQuery("#top_up").hide();
                    afterHide();
            }

            jQuery("#tu_overlay").hide();
        };

        return {
            version: "1.7.2",
            jquery: null,
            host: scriptParams.host || scriptHost,
            images_path: scriptParams.images_path || "images/top_up/",
            players_path: scriptParams.players_path || "players/",
            data: data,
            init: function () {
                if (initialized) {
                    return false;
                }

                try {
                    jQuery(document).ready(function () {
                        TopUp.jquery = jQuery().jquery;

                        fast_mode = parseInt(scriptParams.fast_mode, 10) == 1;
                        default_preset.resizable = jQuery.ui && jQuery.ui.resizable ? 1 : 0;

                        extendjQuery();
                        injectCode();
                        bind();

                        jQuery("#top_up").draggableZ({ only: ".te_title,.te_top *,.te_bottom *" });
                        jQuery.each(on_ready, function (i, func) {
                            func.apply();
                        });
                    });

                    jQuery(window).unload(function () {
                        jQuery("*").unbind();
                        if (jQuery("#top_up .te_frame").resizable) {
                            jQuery("#top_up .te_frame").resizable("destroy");
                        }
                    });

                    initialized = true;
                } catch (e) { }
            },
            defaultPreset: function (set) {
                default_preset = jQuery.extend(default_preset, set);
            },
            addPresets: function (sets) {
                presets = jQuery.extend(presets, sets);
            },
            ready: function (func) {
                on_ready.push(func);
            },
            // added by Timo Besenreuther (2010-02-24) / modified by Paul Engel (2010-02-25)
            // disable cpu-consuming options like .tu_images etc
            enableFastMode: function () {
                var args = arguments;

                if (!jQuery.isReady) {
                    TopUp.ready(function () {
                        TopUp.enableFastMode.apply(null, args);
                    });
                    return false;
                }

                if (arguments.length) {
                    var arg = arguments[0];
                    var func = jQuery.isFunction(arg) ? arg : function () { return arg; };
                    fast_mode = func.apply();
                } else {
                    fast_mode = true;
                }
                fast_mode = fast_mode == true || parseInt(fast_mode, 10) == 1;

                TopUp.rebind();
            },
            rebind: function () {
                if (selector) {
                    jQuery(selector).die("click", topUpClick);
                }
                bind();
            },
            displayTopUp: function (element, opts) {
                if (!jQuery.isReady) {
                    TopUp.ready(function () {
                        TopUp.displayTopUp(element, opts);
                    });
                    return false;
                }
                var topUp = jQuery(element).bubbleDetect(selector);
                var toptions = deriveTopUpOptions(topUp, jQuery.extend(opts || {}, { trigger: "#" + jQuery(element).id() }));
                TopUp.display(topUp.element.attr("href"), toptions);
            },
            display: function (reference, opts) {
                if (!jQuery.isReady) {
                    TopUp.ready(function () {
                        TopUp.display(reference, opts);
                    });
                    return false;
                }

                if (displaying) {
                    return false;
                }

                try {
                    displaying = true;

                    data = {};
                    deriveOptions(reference, opts, true);

                    showLoader();

                    var continueDisplaying = function () {
                        try {
                            deriveGroup();
                            prepare();
                            loadContent();
                        } catch (e) {
                            displaying = false;
                            hideLoader();
                            alert("Sorry, but the following error occured:\n\n" + e);
                        }
                    };

                    // added by Timo Besenreuther (2010-02-24)
                    // force ie6 to display loader while deriving groups (which can take a while...)
                    if (jQuery.ie6) {
                        window.setTimeout(continueDisplaying, 1);
                    } else {
                        continueDisplaying();
                    }
                } catch (e) {
                    displaying = false;
                    hideLoader();
                    alert("Sorry, but the following error occured:\n\n" + e);
                }
            },
            update: function (func) {
                if (jQuery("#top_up").is(":hidden")) {
                    return;
                }

                replace(func || function () { });
            },
            restore: function (storeCurrent, callback) {
                options.storeCurrent = storeCurrent ? 1 : 0;
                options.ondisplay = callback;

                TopUp.update(function () {
                    clearContent();
                    var stored_content = this.children(":not(.te_stored_content):first-child").prev();
                    if (!stored_content.length) {
                        stored_content = this.children(".te_stored_content:last-child");
                    }
                    stored_content.children().insertBefore(stored_content).end().end().remove();
                });
            },
            previous: function () {
                navigateInGroup(-1);
            },
            next: function () {
                navigateInGroup(1);
            },
            overlayClose: function () {
                if (parseInt(options.overlayClose, 10) == 1) {
                    TopUp.close();
                }
            },
            close: function (callback) {
                if (jQuery("#top_up").is(":visible")) {
                    hide(callback);
                }
            }
        };
    } ());

    (function () {
        var missing_libs = [];

        if (scriptParams.libs != null) {
            var libs = scriptParams.libs.replace(/clip|switch/g, "fxc-clip").replace(/resize/g, "uic-resizable").split("+");

            for (var i = 0; i < libs.length; i++) {
                if (["all", "core", "fxc-clip", "uic-resizable"].indexOf(libs[i]) != -1) {
                    if (missing_libs.indexOf(libs[i]) == -1) {
                        missing_libs.push(libs[i]);
                    }
                }
            }
        } else {
            if (typeof (jQuery) == "undefined") {
                missing_libs.push("all");
            } else {
                if (!jQuery.effects || !jQuery.effects.clip) {
                    missing_libs.push("fxc-clip");
                }
                if (!jQuery.ui || !jQuery.ui.resizable) {
                    missing_libs.push("uic-resizable");
                }
            }
        }

        if (missing_libs.length == 0) {
            TopUp.init();
        } else {
            var src = scriptElement.getAttribute("src").replace(/(development\/)?top_up(\-min)?\.js.*$/, "jquery/" + missing_libs.sort().join(".") + ".js");
            document.write('<script src="' + src + '" type="text/javascript" ' +
                           'onload="TopUp.init()" onreadystatechange="TopUp.init()">' +
                   '</script>');
        }
    } ());

}
TopUp.host = "";
TopUp.images_path = "/ui/img/top_up/";
TopUp.players_path = "/ui/players/";
