// replace deprecated html 'target=_blank'
mnjQuery(document).ready(function($){
    $('a[rel="external"]').each(function(){
        var links = $(this); // grab all links with rel=external
        setTimeout(function(){$(links).attr('target','_blank');},10); //slowing function for long pages
    }); 

    /////

        
    //handle merchant details links for merchant overlay
    $('.mn_hideDetLink').css({
        position: 'absolute',
        left: -20000
    })
    .focus(function(){
        $(this).css('position', 'static');
    })
    .blur(function(){
        $(this).css({
        position: 'absolute',
        left: -20000
    });
    }); 

    // PD/PC pages short/long product description
    var prodWrap = $('#mn_featureProductWrap');
    var origBoxHt = $('#mn_featureProductWrap').outerHeight();
    var boxTitle = $('h1', '#mn_featureProductWrap').height();
    $('#mn_longDetails').css('display', 'none');
       
    $('.mn_moreDetail').click(function(){
        $('#mn_longDetails').get(0).id = 'mn_shortDetailsTemp';
        this.parentNode.id = 'mn_longDetails';
        $('#mn_longDetails').css('display','none');
        $('#mn_shortDetailsTemp').get(0).id = 'mn_shortDetail';
        $('#mn_shortDetail').css('display','block');
    
        var lDesc = $('.mn_prodMatchCenter').height();
        if (boxTitle + lDesc >= origBoxHt){
            $(prodWrap).css('height', 'auto');
        }
        else {
            $(prodWrap).css('height', origBoxHt);
        }
        return false;
    }); 
    
    
    // PD page, show long description
    $('.mn_showMoreDetail').css('display','none');
    $('.mn_addMoreLink > a').click(function () {
        $(this).parent().next().removeClass("mn_showMoreDetail").css('display','inline');
        $(this).parent().hide();
        return false;
    });
    
    
    // instore print coupon function
    if ($(".mn_printCoup").length) {

        var loc = location.href + '#PRINT';
        $(".mn_printCoup").replaceWith('<div class="mn_printCoup"><a href="' + loc + '"target="_blank">Print this Coupon</a></div>');

        
        
        var page = location.href;
        var print = page.search(/#PRINT/);
        if (print != '-1')
        { 
            
            $('#mn_inStoreDetail').css('background', 'none').prepend('<div id="mn_printCoupon"></div>').children().hide();
            $('.mn_inStoreDisclaim, .mn_inStoreCouponInner').clone().prependTo('#mn_printCoupon');
            $('#mn_printCoupon').show();
            $('#mn_hideContent, .mn_printCoup').hide();
            $('#mn_inStoreDetail').wrapInner('<div id="mn_printCoupon"></div>');
            var theEnd = $('#mn_printCoupon').get(0).lastChild;
            $(theEnd).after('<div class="mn_printCoup">Click here to print</div>');
                
            $(".mn_printCoup").click(function() {
                $(this).remove();
                window.print();
                window.close();
            });
        }
    }
    
    
        var originator;
    //browse merchant by category list
    $('.mn_viewByCatLink').click(function(){ 
        $('mn_resetTab').removeClass('mn_resetTab'); //for keyboard
        originator = $(this);
        $(originator).addClass('mn_resetTab'); //for keyboard
        var thisPos = $(originator).parent().offset();
        var posTop = thisPos.top + $(originator).outerHeight();
        var posLeft = thisPos.left + $(originator).width() + 18;
        
        $('body').append('<div id="mn_newDiv"></div>');
        var link = $(originator).clone();
        $(link).removeClass('mn_resetTab');
        $('#mn_newDiv').append(link);
        $('#mn_newDiv').click(function(){
            closeOlay();
            return false;
        });
        
        
        $('#mn_newDiv').css({
            position: 'absolute',
            zIndex: 20001
        })
        
        var sizeDif = $('#mn_newDiv').children().outerWidth() - $(originator).outerWidth();
        if (sizeDif > 0){
            var newDivLeft = thisPos.left - sizeDif;
        }
        else {
            newDivLeft = thisPos.left;
        }
        $('#mn_newDiv').css({
            left: newDivLeft
        });
         
        
        $('body').prepend('<div class="mn_oLayContainer"><div class="mn_oLayInnerContain"><div class="mn_olayContentWrap"><div class="mn_oLayLoadImg"></div><div id="mn_olayResults" tabindex="1"></div></div><div class="mn_oLayBack"></div></div></div>'); 

        $('.mn_oLayBack').css({
            opacity: .6,
            position: 'absolute',
            top: 0,
            left: 0,
            bottom: 0,
            right: 0,
            width: '100%', 
            height: $(document).height(),
            background: '#000',
            zIndex: 9999
        });
        
        var newPop = $('.mn_merchByCat').clone(true);
        $('#mn_olayResults').append(newPop);
            
        posLeft -=$(newPop).width();
        
        $('#mn_olayResults').children().css({
            position: 'absolute',
            top: posTop,
            left: posLeft,
            zIndex: 20000
        });        
        
        var newDivTop = posTop - $('#mn_newDiv').children().outerHeight();
        var border = parseFloat($('#mn_olayResults').children().css('borderTopWidth'));
        newDivTop += border;
        
        $('#mn_newDiv').css({
            top: newDivTop
        });
    
    
    
    $('.mn_oLayBack').livequery('click', function(){
        closeOlay();
    });
        
    //keyboard functions  
    $('#mn_olayResults a:first').focus();
            $(document).keydown(function(event){
            if((event.keyCode == 27) || (event.keyCode == 9 && event.target == $('#mn_olayResults a:last')[0])){ 
                closeOlay();
            $('.mn_resetTab').focus().removeClass('mn_resetTab');
            }
        });
        
    function closeOlay(){
        // $('.mn_oLayContainer').fadeTo(200, 0, function(){
        $('.mn_oLayContainer').remove();
        $('#mn_newDiv').remove();
        // });
                
    }
            return false;
    });
    
});


/****/



// popup for coupon codes
var DetailPop =
    {
    init: function()
    {
        var detail = Core.getElementsByClass("mn_iod");
        for (var i = 0; i < detail.length; i++)
        {
            Core.addEventListener(detail[i], "click", DetailPop.clickListener);
        }
		
        var closeDetail = Core.getElementsByClass("mn_closeLink");
        for (var j = 0; j < closeDetail.length; j++)
        {
            Core.addEventListener(closeDetail[j], "click", DetailPop.closeListener);
        }
    },

    collapse: function(fold)
    {
        Core.removeClass(fold, "mn_detailPop");
        Core.addClass(fold, "mn_detailPopClose");
    },
 

    expand: function(fold)
    {
        Core.removeClass(fold, "mn_detailPopClose");
        Core.addClass(fold, "mn_detailPop");
    },
  
    clickListener: function(event)
    {
  	var shorty = this.className
  	shorty = shorty.substr(7);
        var pops = document.getElementsByTagName("div");
        for (var i = 0; i < pops.length; i++)
        {	
            var fold = pops[i];
            if (pops[i].className == "mn_detailPop")
            {
                pops[i].className = "mn_detailPopClose";
            }
            while (fold != null && shorty == fold.id)
            {
                if (fold.className == "mn_detailPopClose")
                {
                    DetailPop.expand(fold);
                }
                fold = fold+1;
            }
	 
            Core.preventDefault(event);
 	}
    },

    closeListener: function(event)
    {
  	var fold = this.parentNode.parentNode.parentNode.parentNode;
	DetailPop.collapse(fold);	 
        Core.preventDefault(event);
    }




};

Core.start(DetailPop); 



//PC page
//** Dynamic Drive Equal Columns Height script v1.01 (Nov 2nd, 06)
//** http://www.dynamicdrive.com/style/blog/entry/css-equal-columns-height-script/
var ddequalcolumns=new Object()
//Input IDs (id attr) of columns to equalize. Script will check if each corresponding column actually exists:
ddequalcolumns.columnswatch=["mn_featureProductWrap", "mn_featureMerchantWrap"]


ddequalcolumns.setHeights=function(reset){
    var tallest=0
    var resetit=(typeof reset=="string")? true : false
    for (var i=0; i<this.columnswatch.length; i++){
        if (document.getElementById(this.columnswatch[i])!=null && document.getElementById("priceComp")){
            if (resetit)
                document.getElementById(this.columnswatch[i]).style.height="auto"
            if (document.getElementById(this.columnswatch[i]).offsetHeight>tallest)
                tallest=document.getElementById(this.columnswatch[i]).offsetHeight
        }
    }
    if (tallest>0){
        for (var i=0; i<this.columnswatch.length; i++){
            if (document.getElementById(this.columnswatch[i])!=null)
                document.getElementById(this.columnswatch[i]).style.height=tallest+"px"
        }
    }
}

ddequalcolumns.resetHeights=function(){
    this.setHeights("reset")
}

ddequalcolumns.dotask=function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
    var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
    if (target.addEventListener)
        target.addEventListener(tasktype, functionref, false)
    else if (target.attachEvent)
        target.attachEvent(tasktype, functionref)
}

ddequalcolumns.dotask(window, function(){ddequalcolumns.setHeights()}, "load")
ddequalcolumns.dotask(window, function(){if (typeof ddequalcolumns.timer!="undefined") clearTimeout(ddequalcolumns.timer); ddequalcolumns.timer=setTimeout("ddequalcolumns.resetHeights()", 200)}, "resize")


/***********/


// merchant interstitial page
mnjQuery(window).load(function(){
    if ($('#mn_istitNoscript').length != 0){
    $('#mn_istitNoscript').livequery(function(){
        $(this).hide();
    });
    }
    
    if ($('#mn_merchInterstital').length != 0 && $('#mn_initParams').length != 0){
        //vertically align content in window
        function vertAlign(){
            var cont = $('.mn_outWrapper');
            var contHt = $(cont).height();
            var setHt = $(window).height();
        
            if (setHt - contHt > 0){
                $(cont).css({'margin-top': ((setHt /2) - (contHt / 2))});
            }
        }
        vertAlign();
        
        $(window).resize(function(){
            vertAlign();
            $('#mn_istitBody').show();
        });
        
        //show loading animation and message
        var sBar = '<div id="mn_statusBar">one moment please</div>';
        $('p.mn_istitTansMsg').before(sBar);
        $('#mn_institPause').css('display', 'inline');
        
        //fix float issues with offers list
        var li = $('.mn_specOffText').find('li:odd');
        if (li.length != 0){
            $(li).each(function(){
                var thisHt = $(this).height();
                var lastHt = $(this).prev().height();
                if (thisHt != lastHt){
                    if (thisHt < lastHt){
                        $(this).height(lastHt);
                    }
                    else {
                        $(this).prev().height(thisHt);
                    }
                }
            });
        }
        
        //timed redirect
        var params = $('span', '#mn_initParams'); 
        var setTime = $(params).eq(1).text(); // get the time
        var redUrl = $(params).eq(0).text(); // url to go to
        
        var thisDom = document.domain.split('.');
        
        var cDom = '.'+thisDom[thisDom.length-2]+'.'+thisDom[thisDom.length-1];

        if (setTime != "" && redUrl != ""){
            var timer = setTimeout(function(){
                window.location = redUrl;
            }, setTime);
        
            $('#mn_institPause').toggle(function(){
                clearTimeout(timer);
                $('#mn_statusBar').hide();
                $(this).text("Continue").removeClass('mn_institPause').addClass('mn_institContinue');
            },
            
            function(){
                window.location = redUrl;
            });
        }
    
        //set/unset cookie to opt out of seeing this page
        $('.mn_istitOptOut input:checkbox').click(function(){
            if ($(this).attr('checked')){
                var date = new Date();
                date.setTime(date.getTime()+(10000*24*60*60*1000));
                var expires = 'expires='+date.toGMTString();
                document.cookie = 'mn_interstit=off; '+expires+'; '+cDom+'; path=/;';
            }
            else {
                document.cookie = 'mn_interstit=on; expires=-1; '+cDom+'; path=/;';
            }
        });
    }

});
 

