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 showMessageCouponScissors(ref, coupon, merchant, url)
{
    if (isFlash && !hasFlash)
    {
        return;
    }

    cRef = document.getElementById('messageCoupon');

    currentCoupon = coupon;
    currentCouponUrl = url;
    currentMerchant = merchant;

    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() { startHideCouponTimerScissors() };
        document.getElementById('messageCouponCb').onmouseover = function() { clearTimeout(closeTimer) };

        document.getElementById('FWClipboardDoodadScissors').style.width = ref.offsetWidth + 'px';
        document.getElementById('FWClipboardDoodadScissors').style.height = ref.offsetHeight + 'px';
        document.getElementById('FWClipboardDoodadScissors2').style.width = ref.offsetWidth + 'px';
        document.getElementById('FWClipboardDoodadScissors2').style.height = ref.offsetHeight + 'px';

        getFlashMovie('FWClipboardDoodadScissors').sendTextToFlash(coupon, 'clickCouponScissors');
    }
    else
    {
        ref.onclick = function() { clickCouponScissors(); };
        ref.onmouseout = function() { startHideCouponTimerScissors() };
    }

    cRef.onclick = function() { clickCouponScissors();};

    document.getElementById('couponCodeMerchnantName').innerHTML = 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 clickCouponScissors()
{
    if(typeof clickTest !== 'undefined')
    {
        clickTest();
    }

    if (!isFlash)
    {
        clipboardData.setData("Text", currentCoupon);
    }

    var url = currentCouponUrl;
    var win = window.open(url, '_blank', '');
    if (!win)
    {
        document.location = url;
    }

    return;
}

function startHideCouponTimerScissors()
{
    closeTimer = setTimeout(hideMessageCouponScissors, 500);
}

function hideMessageCouponScissors()
{
    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 };
}
