﻿var MAIN_IMAGE_ZOOM = "";

function ProductDetails_OnLoad(mainImageZoomID)
{
    MAIN_IMAGE_ZOOM = document.getElementById(mainImageZoomID);
}

ProductDetails_OnResponseEnd = function(sender, arguments) {
    trace('ProductDetails_OnResponseEnd');

    // see which action it was
    try {
        // insert any thing you want to call back
    } catch (e) {
        trace(e);
    }
};
//Ajax on start
ProductDetails_OnResponseStart = function(sender, arguments) {
    try {
        var eventTarget = arguments.EventTarget; trace(typeof eventTarget); trace(eventTarget);
        
        if (typeof eventTarget == 'string') {
            if (/btnAdd/i.test(eventTarget)) { addToCart(); }
        }
    } catch (e) {
        trace(e);
    }
};

addToCart = function() {
    trace('addToCart');

    // find the big product image and move it to somewhere
    // jquery ui animation transfer -> puff
    var CART_ID = '#mycart-pulsate';
    var PRODUCT_IMG_ID = '#zoom1';
    var CLONED_PRODUCT_IMG_ID = generateUniqueElementId(PRODUCT_IMG_ID);

    var IMG_WIDTH = 270;
    var IMG_ANIMATE_DURATION = 1500;
    var IMG_DISAPPEAR_DURATION = 500;
    var CART_PULSATE_DURATION = 60;

    try {
        trace('animating...');

        $('#zoom1 > img')
        .clone()
        .attr('id', CLONED_PRODUCT_IMG_ID)
        .css({
            'visibility': 'visible',
            'display': 'block',
            'position': 'absolute',
            'left': $(PRODUCT_IMG_ID).offset().left + 'px',
            'top': $(PRODUCT_IMG_ID).offset().top + 'px',
            'z-index': '99999'
        })
        .appendTo('body')
        .animate({
            'left': '+=' + (($(PRODUCT_IMG_ID).offset().left) - $(CART_ID).offset().left) * -1 + 'px',
            'top': '-=' + ($(PRODUCT_IMG_ID).offset().top - $(CART_ID).offset().top) + 'px',
            'width': '0%',
            'height': '0%'
        }, IMG_ANIMATE_DURATION, 'swing', function() {
            $(this).remove();
            $(CART_ID).effect('shake', { times: 5, direction: 'up', distance: 5 }, CART_PULSATE_DURATION);
        });
        return true;
    } catch (e) {
        trace(e);
    }
};

generateUniqueElementId = function(id) {
    if (typeof id != 'string') throw 'argument specified is wrong: id';
    return id + Math.floor(Math.random() * 99999);
};

$(function() {
    trace('product details js tabs');

    // load tabs
    $('ul.tabs').tabs('div.panes .area > div', {
        tabs: 'li'
    });

    // load overlays
   // $("button[rel*=overlay]").overlay({
   //     expose: '#fff'
   //});
    //initialise product reviews tab if reviews exist
    
    
    if ($('div.commentsResults').length > 0)
        $('.tabs').data("tabs").click(4);
    $('[data-click-more-info=1]').click(function() {
        $('[data-click-more-info=1]').hide();
        $('[data-more-info=1]').show();
    });
    
});

function setMainImage(mainImageAnchor, anchorURL, imageURL)
{
    //Img1ImageURL ID keeps changing dynamically on page, so MAIN_IMAGE_ZOOM is set on body load to point to element to access it
    var MainImageAnchor = document.getElementById(mainImageAnchor);
       
    if (MainImageAnchor)
        MainImageAnchor.href = anchorURL;
    if (MAIN_IMAGE_ZOOM)
        MAIN_IMAGE_ZOOM.src = imageURL;
        
}
