jQuery.extend({
    ajaxLoader: '<img class="ajax-loader" src="http://static.ebaytoday.ru/ebay/images/ajax-loader.gif" alt="Идёт загрузка...">'
});

jQuery.fn.offers = function( productID, productUrl, productTitle, productSize, productColor, moreOffersUrl, noAutoUpdateOffers){
    var offers = jQuery(this);
    var offersBody = offers.find('div.amazon-product-offers-body');
    var offersTypeTabs = offers.find('div.amazon-product-offers-tabs a');
    var xhr = '';

    if (!noAutoUpdateOffers) {
    	updateOffers();
    }
    
    offersTypeTabs.click(function(){
        if ( jQuery(this).attr("class") == 'active' ){
            return false;
        }
        offersTypeTabs.removeClass('active');
        var offersType = jQuery(this).attr('href');
        offersTypeTabs.parent().find('a[href="'+offersType+'"]').addClass('active');
        updateOffers( offersType );
        return false;
    });

    function updateOffers( offersType ){
        if ( xhr ) {
            xhr.abort();
        }
        var request = {
            "offersType": offersType || 'All',
            "productID": productID,
            "url" : productUrl,
            "title" : productTitle,
            'size' : productSize || '',
            'color' : productColor || '',
            'moreOffersUrl' : moreOffersUrl
        };
        
        jQuery('.sellerDelivery').html( jQuery.ajaxLoader + ' загрузка' );
        jQuery('div#amazon-product-price span').html( jQuery.ajaxLoader + ' загрузка' );
        jQuery('div#amazon-product-save span').html( jQuery.ajaxLoader + ' загрузка' );
        
        offersBody.html( jQuery.ajaxLoader+' Загрузка предложений' );
        xhr = jQuery.post('/amazon/getOffers', request, function( response ){
            if ( !response ) {
                return;
            }
            
            var res = jQuery.parseJSON( response );            
            var offers = res.data;
            
            //if (jQuery('td.sellerDelivery, span.sellerDelivery').html() == '-') {
            	jQuery('td.sellerDelivery, span.sellerDelivery').html(offers[0].sign + offers[0].shipping);
            	jQuery('#deliveryCostHidden').val(offers[0].shipping);
            	
            	var oldPrice = jQuery('#productOldPrice').html();
            	
            	var youSave = Math.floor((oldPrice - offers[0].price) * 100) / 100;
            	var youSavePersent = Math.round((youSave / oldPrice)  * 100);            	
            	
            	jQuery('div#amazon-product-save span').html(offers[0].sign + youSave + ' (' + youSavePersent + '%)');
            	
            	if (offers[0].price != 'undefined') {
	            	jQuery('div#amazon-product-price span').html(offers[0].sign + offers[0].price);
	            	jQuery('#priceHidden').val(offers[0].price);
            	}
            	
            //}
            
            jQuery('.amazon-product-offers-body').html(res.html);
            
            /*offersBody.html( responce );
            jQuery('td.sellerDelivery, span.sellerDelivery').html( jQuery.ajaxLoader );
            jQuery('div.sellerName').each(function(){
                if ( !jQuery(this).html() ) {
                    jQuery(this).html( jQuery.ajaxLoader );
                }
            });
            jQuery.post('/amazon/sellers', {productID:productID}, function( response ){
                var sellers = jQuery.parseJSON( response );
                for( key in sellers ){
                    jQuery('tr#'+sellers[key].id+' div.sellerName').html( sellers[key].name );
                    jQuery('#'+sellers[key].id+' input[name=amazonSellerName]').val( sellers[key].name );
                    jQuery('tr#'+sellers[key].id+' td.sellerDelivery').html( sellers[key].deliveryString );
                    jQuery('#'+sellers[key].id+' input[name=delivery_cost]').val( sellers[key].deliveryValue );
                    jQuery('span#'+sellers[key].id).html( sellers[key].deliveryString );
                }
                jQuery('img.ajax-loader').parent().html('<span class="undetermined">Не определенно<span>');
            });*/
            
        });
    }
};

jQuery.fn.reviews = function() {
    var reviewsLink = jQuery(this).attr("href");
    jQuery(this).click(function(){
        var popup = document.open('', 'Reviews', 'left=20, top=40, width=800, height=700, location=no, resizable=yes, scrollbars=yes');
        popup.document.close();
        popup.document.write('Загрузка отзывов...');
        jQuery.post('/amazon/reviews', {reviewsLink:reviewsLink}, function( response ){
            popup.document.close();
            popup.document.write( response );
        });
        return false;
    });
}

jQuery.fn.similarities = function( productID ) {
    var similarsBody = jQuery(this);
    similarsBody.show();
    similarsBody.html( jQuery.ajaxLoader + ' Загрузка похожих товаров...' );
    jQuery.post('/amazon/similarProducts', { productID: productID }, function( response ){
         similarsBody.html( response );
    });
}

jQuery.fn.delivery = function( productID, sellerID ){
    var deliveryInput = jQuery(this);
    jQuery('span#amazonDelivery').html( jQuery.ajaxLoader );
    jQuery.post('/amazon/delivery', {
        productID:productID,
        sellerID:sellerID
    }, function( response ){
        jQuery('span#amazonDelivery').html('');
        if ( !response ) {
            return;
        }
        var delivery = jQuery.parseJSON( response );
        deliveryInput.val( delivery.deliveryValue );
        jQuery('span#amazonDelivery').html( 'Реальная: ' + delivery.deliveryString );
    });
}
