var couponCodes = new Array();

var closeTimer = null;
var currentCoupon = '';
var currentCouponUrl = '';
var currentMerchant = '';

var isFlash = !(window.clipboardData && clipboardData.setData); // IE?

var hasFlash = navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"];

$(function() {
    if (isFlash && !hasFlash) $('span.messageCouponSpan').each(function() {this.innerHTML = this.attributes.coupon.value;});
});


function getFlashMovie(movieName) {   var isIE = navigator.appName.indexOf("Microsoft") != -1;   return (isIE) ? window[movieName] : document[movieName];  }

function showMessageCoupon(ref, coupon, merchant, url)
{
    if (isFlash && !hasFlash)
    {
        return;
    }
    
    cRef = document.getElementById('messageCoupon');

    if(closeTimer)
        clearTimeout(closeTimer);

    spanLoc = getCouponXY(ref);

    if (isFlash)
    {
        document.getElementById('messageCouponCb').style.display = 'block';
        document.getElementById('messageCouponCb').style.left = spanLoc.x + 'px';
        document.getElementById('messageCouponCb').style.top = spanLoc.y + 'px';    
        document.getElementById('messageCouponCb').style.width = ref.offsetWidth + 'px';
        document.getElementById('messageCouponCb').style.height = ref.offsetHeight + 'px';        
        document.getElementById('messageCouponCb').onmouseout = function() { startHideCouponTimer() };
        document.getElementById('messageCouponCb').onmouseover = function() { clearTimeout(closeTimer) };
        
        document.getElementById('FWClipboardDoodad').style.width = ref.offsetWidth + 'px';
        document.getElementById('FWClipboardDoodad').style.height = ref.offsetHeight + 'px';
        document.getElementById('FWClipboardDoodad2').style.width = ref.offsetWidth + 'px';
        document.getElementById('FWClipboardDoodad2').style.height = ref.offsetHeight + 'px';
        
        getFlashMovie('FWClipboardDoodad').sendTextToFlash(coupon, 'clickCoupon');
    }
    else
    {
        ref.onclick = function() { clickCoupon(); };
        ref.onmouseout = function() { startHideCouponTimer() };
    }

    cRef.onclick = function() { clickCoupon(); };
    
    document.getElementById('couponCodeMerchnantName').innerHTML = merchant;
    
    currentCoupon = coupon;
    currentCouponUrl = url;
    currentMerchant = merchant;

    cRef.style.left = (spanLoc.x + $(ref).width() + 2) + 'px';
    cRef.style.top = (spanLoc.y - 4) + 'px';
    cRef.zIndex = '200';

    cRef.style.display = 'block';
}

function clickCoupon()
{
    if (!isFlash)
    {
        clipboardData.setData("Text", currentCoupon);
    }
    
    var url = currentCouponUrl;
    var win = window.open(url, 'fwc_' + currentMerchant, '');
    if (!win)
    {
        document.location = url;
    }
    
    return;
}

function startHideCouponTimer()
{
    closeTimer = setTimeout(hideMessageCoupon, 500);
}

function hideMessageCoupon()
{
    document.getElementById('messageCoupon').style.display = 'none';
    
    if (isFlash)
    {
        document.getElementById('messageCouponCb').style.left = '-1000px';
        document.getElementById('messageCouponCb').style.top = '-1000px';
    }
}

function getCouponXY(obj)
{
    var curLeft = curTop = 0;
    
    if (obj.offsetParent)
    {
        curLeft = obj.offsetLeft;
        curTop = obj.offsetTop;
        while (obj = obj.offsetParent)
        {
            curLeft += obj.offsetLeft;
            curTop += obj.offsetTop
        }
    }

    return { x : curLeft, y: curTop };
}