jQuery(function () {
    // Set up deal tab state indicators
    jQuery('.deal-tab > .deal-block-header').append(
        '<div class="deal-tab-state"><img class="deal-state-image-closed" src="/skin/frontend/default/citydeals/images/deal-tab-arrow-closed.png"/><img class="deal-state-image-open" src="/skin/frontend/default/citydeals/images/deal-tab-arrow-open.png"/></div>'
    );

    // Handle links to tabs
    jQuery('.deal-linktotab').live('click', function () {
        openDealTab(jQuery(this).attr('href').replace('#', ''));
    });

    // Deal image rollover
    jQuery('.deal-media-slide > .deal-image-small').hover(
        function () {
            // hover over
            //console.log('over ' + this.id);
            if (0 == jQuery('img', this).length) {
                return;
            }
            jQuery('#deal-image-main').hide();
            jQuery('#deal-image-rollover > img').attr('src', jQuery('img', this).attr('src'));
            jQuery('#deal-image-rollover').show();
        },
        function () {
            // hover out
            //console.log('out ' + this.id);
            jQuery('#deal-image-rollover').hide();
            jQuery('#deal-image-main').show();
        }
    );
    jQuery('.deal-actions-ratings-container .stars img').attr('src', '/skin/frontend/default/citydeals/images/star-transparent2.png');
    
    /******************************************/
    /* Discuss the deal : dtd : discussthedeal*/
    /******************************************/
    jQuery('.dtd-rate').live('click',function(){
        var $response = jQuery('.dtd-response');
        $this = jQuery(this);
        jQuery(this).addClass('dtd-rated').removeClass('dtd-rate');
        $response.fadeIn();
        $response.html('<center><img src="/skin/frontend/default/citydeals/images/ajax-live.gif"/><center>');
        jQuery.getJSON(jQuery(this).attr('href'),function(e){
            jQuery($response).html(e.response);
            setTimeout(function() {
                $response.fadeOut();
            }, 2000);
        });
        jQuery.cookie($this.attr('rel'),'1',{
            expires: 3,
            path: '/'
        });
        jQuery('#reloader').load('/location/deal?id='+jQuery('#dtd-product-id').val()+' .dtd-wrap');
        return false;
    });
    jQuery('.dtd-rated').live('click',function(){
        return false;
    });
    jQuery('a.dtd-report-a').live('click',function(){
        var $response = jQuery('.dtd-response');
        $response.fadeIn();
        $response.html('<center><img src="/skin/frontend/default/citydeals/images/ajax-live.gif"/><center>');
        jQuery.getJSON(jQuery(this).attr('href'),function(e){
            jQuery($response).html(e.response);
            setTimeout(function() {
                $response.fadeOut();
            }, 2000);
        });
        jQuery('#reloader').load('/location/deal?id='+jQuery('#dtd-product-id').val()+' .dtd-wrap');
        return false;
    });
    jQuery('.loc-rating').live('click',function(){
        var $response = jQuery(this);
        $response.fadeIn();
        $response.html('<center><img src="/skin/frontend/default/citydeals/images/ajax-loader.gif"/><center>');
        jQuery.getJSON(jQuery(this).attr('href'),function(e){
            jQuery($response).html(e.response);
            setTimeout(function() {
                $response.fadeOut();
            }, 2000);
        });
        jQuery.cookie('deal-rate-'+jQuery(this).attr('rel'),'1',{
            expires: 90,
            path: '/'
        });
        return false;
    });
    jQuery('#dtd-submit').live('click',function(){
        var $response = jQuery('.dtd-response');

        $response.fadeIn();
        $response.html('<center><img src="/skin/frontend/default/citydeals/images/ajax-live.gif"/><center>');
        jQuery.getJSON('/discussthedeal/index/post?has_parent='+jQuery('#dtd-has-parent').val()+'&parent_id='+jQuery('#dtd-parent-id').val()+'&post_body='+jQuery('#dtd-post-form-body').val()+'&user_email='+jQuery('#dtd-form-email').val()+'&product_id='+jQuery('#dtd-product-id').val()+'&customer_id='+jQuery('#dtd-customer-id').val(),function(e){
            var $response = jQuery('.dtd-response');
            $response.fadeOut();
            $response.fadeIn();
            //jQuery(window).scrollTop(0);
            jQuery($response).html('<div class="message">' + e.response + '</div>');
            //jQuery('#reloader').load('/location/deal?id='+jQuery('#dtd-product-id').val()+' .dtd-wrap');
            jQuery('.dtd-post-form-container').fadeOut();
            jQuery('#dtd-post-form-body').html('');
            setTimeout(function() {
                $response.fadeOut();
            }, 5000);
        });
        return false;
    });
    jQuery('a.dtd-respond-a').live('click',function(){
        if(oldDiv != ''){
            oldDiv.css({
                'height':oldHeight+'px'
                });
            oldDiv.removeClass('tmpHeight');
        }
        $this = jQuery(this);
        if ($this.hasClass('dtd-show-form-link')) {
            $parent = jQuery('#dtd-response');
        }
        else {
            $parent = jQuery(this).parent().parent();
        }
        oldDiv = $parent;
        oldHeight = $parent.height();
        $post = jQuery('.dtd-post-form-container');
        jQuery('.dtd-post-form-container').insertAfter($parent).slideDown(1000);
        jQuery($parent).css({
            'height':$parent.height()+$this.height()+15+'px'
            }).addClass('tmpHeight');
        jQuery('#dtd-parent-id').val(jQuery(this).attr('rel'));
        jQuery('#dtd-has-parent').val(0 == jQuery('#dtd-parent-id').val() ? 0 : 1);
        if(jQuery('#dtd-post-form-body').is(':visible')){
            jQuery('#dtd-post-form-body').focus();
        }else{
            jQuery('#email').focus();
        }
        jQuery('.dtd-new-post').slideDown('slow');
        return false;
    })
    jQuery('form#dtd-form').submit(function() {
        return false;
    });
    jQuery('a.dtd-show-form-link').live('click', function () {
        jQuery('#dtd-post-form-container').fadeIn();
    });
    jQuery('.deal-discussions-scroll-link').live('click', function () {
        var relParts = jQuery(this).attr('rel').split('/');
        var limitParts, limitNext, limitPrev;

        if (relParts) {
            limitParts = relParts[1].split(',');
            var params = {'product' : relParts[0], 'lim' : limitParts[0], 'off' : limitParts[1]};
            jQuery('#deal-discussions-content').html('<center><img src="/skin/frontend/default/citydeals/images/ajax-live.gif"/><center>');
            jQuery('#deal-discussions-content').load('discussthedeal/index/index #deal-discussions-content', params, function (data, status) {
                if ('error' == status) {
                    alert('Unable to load more discussions.');
                }
                else {
                    limitPrev = limitParts[0] + ',' + (parseInt(limitParts[1]) - parseInt(limitParts[0]));
                    limitNext = limitParts[0] + ',' + (parseInt(limitParts[1]) + parseInt(limitParts[0]));

                    // Update scroll buttons
                    jQuery('#deal-discussions-scroll-up').attr('rel', relParts[0] + '/' + limitPrev);
                    jQuery('#deal-discussions-scroll-down').attr('rel', relParts[0] + '/' + limitNext);
                }
            });
        }
        return false;
    });
    /***************************/
    /* End discuss the deal js */
    /***************************/
});

// Open/Close tab
function openDealTab(tabId)
{
    jQuery('#' + tabId).addClass('deal-tab-open').removeClass('deal-tab-closed');
}
jQuery('.deal-tab > .deal-block-header').live('click', function () {
    jQuery(this.parentNode).toggleClass('deal-tab-open').toggleClass('deal-tab-closed');
});

// Add to Cart
jQuery('a#deal-addtocart-button').live('click', function () {
    var qty = jQuery("#deal-addtocart-quantity").val();
    var is_print = jQuery('select#deal-addtocart-delivery>option:selected, #deal-addtocart-delivery[type=hidden]').val();
    var product_id = jQuery('#product-id').val();

    if (!product_id) {
        alert('No product selected.');
        return false;
    }
    if ('' == is_print) {
        alert('Please select a delivery method.');
        return false;
    }
    if ('' == qty) {
        alert('Please select a quantity.');
        return false;
    }

    var params = {"product_id":product_id,"qty":qty,"is_print":is_print};
    var result = jQuery.getJSON("/location/index/addToCartJson", params, function(data, textStatus){
		if (textStatus == "error"){
			alert("There was an error adding this item to your cart.  Please call customer service for assistance.", "Error");
			return;
		}
		if (data.result == "error"){
			alert("Sorry, an error occurred while adding the item to your cart.  The error was: '" + data.message + "'");
			return;
		}
		jQuery('#deal-addtocart-container').html('Thanks! The item has been added to your cart!');
		jQuery('#head-cart-wrap').load('/how-it-works #header-cart')
	});

    return false;
});

function setReviewLoadingUi(isLoading)
{
    if (isLoading) {
        jQuery('#deal-reviews-outer').hide();
        jQuery('#deal-reviews-loading').show();
    }
    else {
        jQuery('#deal-reviews-loading').hide();
        jQuery('#deal-reviews-outer').show();
    }
}
jQuery('a.pagination-page-link').live('click', function () {
    var rel = jQuery(this).attr('rel');
    var relParts = rel.split(';');
    var location = relParts[0];
    var pageNum = relParts[1] ? relParts[1] : 1;
    var perPage = relParts[2] ? relParts[2] : -1;

    setReviewLoadingUi(true);
    jQuery('#deal-reviews-container').load(jQuery(this).attr('href') + ' #location-reviews-container', null, function (data, status) {
        if ('error' == status) {
            alert('Unable to load more reviews. Please try again later.');
            setReviewLoadingUi(false);
            return;
        }

        var params = {'location': location, 'page': pageNum, 'per': perPage};

        jQuery.get('/locationreview/location/pagination', params, function (data, status) {
            jQuery('.deal-reviews-pagination').html(data);
            setReviewLoadingUi(false);
        });
    });

    return false;
});

jQuery('#location-reviews-post-button').live('click', function () {
    jQuery('#location-reviews-post-button').hide();
    jQuery('#location-reviews-form-container').show();
});


