window.pemco = window.pemco || {};

(function($) {
    var pub = pemco.iframe = {};

    var transSpeed = 333;
    var url = 'iframe/';
    var content = '';
    var header = '';
    var color = '';

    pub.construct = function() {
        if (exists()) {
            redirect();
            $('#iframe-wrapper')
				.attr('className', color)
				.fadeIn(transSpeed)
        }
        else {
            $('<div id="iframe-wrapper"></div>')
				.attr('className', color)
				.append('<div class="topper"><a class="close"><img src="images/iframe-close.gif" alt="close" /></a><h3>' + header + '</h3></div>')
				.append('<div class="middle"><div id="scroll"><iframe id="iframe-content" scrolling="no" frameborder="0" src="' + url + '?content=' + content + '" allowtransparency="true"></iframe></div></div>')
				.append('<div class="botter"></div>')
				.hide()
				.appendTo('body')
				.fadeIn(transSpeed)
        }

        if (header == 'Search Results') {
            $('#iframe-wrapper').addClass('search');
        }
        else {
            $('#iframe-wrapper').removeClass('search');
        }
    }

    pub.deconstruct = function() {
        $('#iframe-wrapper').fadeOut(transSpeed, function() {
            content = '';
        });
    }

    pub.load = function(className, id) {
        if (window.player !== undefined && pemco.commercials) {
            //player.sendEvent('PLAY', false);
            pemco.commercials.playerPause();
        }

        if (/iframe\-form/.test(className)) {
            color = 'tan';
        } else {
            color = 'gray';
        }

        if (/terms/.test(className)) {
            if (content != 'terms') {
                content = 'terms&contestsubid=' + id;
                header = '<img src="images/iframe_termsandconditions_header.gif" alt="Terms and Conditions" />';
                pub.construct();
            }
        }
        else if (/disclaimer/.test(className)) {
            if (content != 'disclaimer') {
                content = 'disclaimer';
                header = '<img src="images/iframe_privacypolicy_header.gif" alt="Privacy Policy" />';

                pub.construct();
            }
        }
        else if (/contact-us/.test(className)) {
            if (content != 'contact') {
                content = 'contact';
                header = '<img src="images/iframe_contactus_header.gif" alt="Contact Us" />';

                pub.construct();
            }
        }
        else if (/search_button/.test(className)) {
            content = 'search&query=' + $('#search_query').val();
            header = '<img src="images/iframe_searchresults_header.gif" alt="Search Results" />';

            pub.construct();

            return false;
        }
        else if (/ecards/.test(className)) {
            var regex = /ecards-([a-z0-9]+)/i.exec(className);
            if (content != 'ecards' && regex && regex[1]) {

                content = 'ecards&codename=' + regex[1];
                header = '<img src="images/iframe_sendanecard_header.gif" alt="Send an e-Card" />';

                pub.construct();
            }
            else {
                //if commercials
                var startPos = $('#commercials_panel_profile_link a').attr('href').indexOf('#profiles/') + 10;
                codename = $('#commercials_panel_profile_link a').attr('href').substring(startPos);

                if (codename.length > 0) {
                    content = 'ecards&codename=' + codename;
                    header = '<img src="images/iframe_sendanecard_header.gif" alt="Send an e-Card" />';

                    pub.construct();
                }
            }
        }
        else if (/tradingcards/.test(className)) {
            if (content != 'tradingcards') {

                if (className.indexOf("tradingcards-") != -1)
                    codename = className.replace("profile-rel-card iframe-form tradingcards-", "");
                else
                    codename = window.location.hash.toString().replace("#profiles/", "").replace("#commercials/","");
                
                if (codename.length > 0)
                    content = 'tradingcards&codename=' + codename;
                else
                    content = 'tradingcards';
                header = '<img src="images/iframe_getthetradingcards_header.gif" alt="Get The Trading Cards" />';

                pub.construct();
            }
        }
    }

    var exists = function() {
        return !($('div#iframe-wrapper').length == 0)
    }

    var redirect = function() {
        $('#iframe-wrapper .topper h3').html(header);
        return $('#iframe-content').attr('src', url + '?content=' + content);
    }

    $('.iframe, .iframe-form').live('click', function() {
        pemco.iframe.load($(this).attr('className'));
        if (pemco.commercials)
            pemco.commercials.playerPause();

        return false;
    });

    $('#iframe-wrapper .close').live('click', function() {
        pemco.iframe.deconstruct();

        if ($('#tray').length > 0 && $('#tray').position().top == 156) {
            pemco.tray.raise();
        }
    });

})(jQuery);

//Test Date
