function init() {

	initialiseThumbnails();
	$('#largeimage').bind('click', launchPopup, false);
	$('#enlargelink').bind('click', launchPopup, false);

    $('.variant').bind('click', changeActiveVariant);
    $(document).ready(function(){
	    $('#sidepieces_tooltip').tooltip({offsetX:200});
	    $('#uv_tooltip').tooltip({width:200,offsetX:200});
    });
}

function initialiseThumbnails() {
	$('.smallimage').live('mouseover', updateMainImage);
	$('.smallimage').live('click', launchPopup, false);
}

function updateMainImage(event) {
	
    var thisimg = $(event.target);
    
    var imgsrc 	= thisimg.attr('src').replace('small','large');
    var zoomsrc = imgsrc.replace('large','zoom');
    
    var lrgimg = $('#largeimage');
    
    if(lrgimg.attr('src') != imgsrc) {
        lrgimg.attr('src', imgsrc);
    }
    
    $('.largeimage-link').attr('href',zoomsrc);
    
    $('.smallimage').removeClass('active');
    thisimg.addClass('active');

}

function launchPopup(event) {

    var thisimg = $(event.target);
    event.preventDefault();

    var thisimgsrc = $('#largeimage').attr('src');
    var srcbits = thisimgsrc.split('/');
    var filename = srcbits[srcbits.length-1];
    
    var url = '/lightbox-sunglasses.php?productid=' + activeproductid + '&variantid=' + activevariantid + '&imagesrc=' + filename.substring(0, (filename.length-4));
    var strTitle = $('#productnametext').val() + ' - ' + arrColours[activevariantid];
    
    $.fancybox({
		'padding'		: 0,
		'href'			: url,
		'title'   		: strTitle,
		'width'			: 950,
		'height'		: 530,
		'transitionIn'	: 'none',
		'transitionOut'	: 'none',
		'type'			: 'iframe',
		'scrolling'		: 'no'
	});
    

}

function changeActiveVariant(event) {
	
	var thisvariant = $(event.target);
	var variantid   = thisvariant.val();

    // set the active variant id
    activevariantid = variantid;
    
    var largeimage  = $('#largeimage');
    var lrgimglink = $('.largeimage-link');
    var imghtml;
    var imgsrc 	= largeimage.attr('src').replace('large','zoom');
    var smallimages = $('#product-smallimages');
    var smallimghtml = '';
    
    // Update the price div
    $('#price').html(variantprices[variantid]);

    smallimages.html('').hide();
    
    var arrvariantimages = variantimages[variantid];

    if(lrgimglink) {
	    for(i=0;i<arrvariantimages.length;i++) {
	        // The first image replaces the BIG one
	        if(i == 0) {
                if(arrvariantimages[i] != '') { 
	               largeimage.attr('src', (imgpath + 'large/' + arrvariantimages[i]));                               
	            } else {
	               largeimage.attr('src', '/img/catalogue/products/default.jpg');
	            }
	        }
	                
	        if(smallimages) {            
	               
                imghtml = '<img alt="' + largeimage.attr('alt') + '" src="' + imgpath + 'small/' + arrvariantimages[i] + '" class="smallimage';
	            if(i == 0) {
	               imghtml += ' active';
	            }
	            imghtml += '"/>';
	            smallimghtml += imghtml;
	        }
	    }

	    for(i = 0; i < lrgimglink.length; i++) {
	        $(lrgimglink[i]).attr('href', imgsrc);
	    }
	    if(smallimages) {
	    	$(smallimages).html(smallimghtml).fadeIn(300);
	    }
    }
    
}

// This really only applies to the cross-sell products here
function swatchlistener() {
	$('a.swatch').bind('mouseover', updateSwatchImage, false);
}

function updateSwatchImage(event) {
	
    var thisimg = $(event.target);
  
    var swatchid = thisimg.attr('id');
    var swatchurl = thisimg.attr('href');
    var swatchbits = swatchid.split('-');
    var productid = swatchbits[1];
    var variantid = swatchbits[2];

    var productimage = $('#thumbnail-' + productid);
    if(productimage) {
	    var imagepath = '/img/catalogue/products/variants/thumbs/' + variantid + '-A.jpg';
	    productimage.attr('src', imagepath);  
	    
	    var producturl = $('#producturl-' + productid);
	    producturl.attr('href', swatchurl);
    }
}

init();
swatchlistener();
