	var Listing 				= new Object();
		Listing.Active 			= '';
		Listing.State			= 'closed';
		Listing.Transition		= 'false';
	
	var defaultPhotos;

/***** OPEN / CLOSE THE OVERLAY *****/

	Listing.Overlay = function(itemId) {
		if(Listing.Transition == 'false') {
		// Manage the DIVs
			Listing.Transition = 'true';
			if(Listing.State == 'open') {
				Listing.OverlayClose(itemId);
			} else {
				Listing.OverlayOpen(itemId);
			}
		}
	}


/***** CLOSE THE OLD OVERLAY *****/

	Listing.OverlayClose = function(itemId) {
		
	// Gt full list of content and bg Divs
		var contentList	= $$('.container_listing .item_quarter .overlay .content');
		var bgList		= $$('.container_listing .item_quarter .overlay .bg');
	
	// Find the DIVs to close
		for(var i = 0; i < contentList.length; i++) {
			if(contentList[i].up() == $('item_overlay_' + Listing.Active)) {
				var contentDivActive	= contentList[i];
				var backgroundDivActive	= bgList[i]
				break;
			}
		}
	
	// Close the active overlay
		new Effect.Fade(contentDivActive, { duration: 0.25, from: 1, to: 0 });
		new Effect.Fade(backgroundDivActive, { duration: 0.25, from: 0.95, to: 0 });
		new Effect.Appear($('item_content_' + Listing.Active), { duration: 0.25, from: 0, to: 1, afterFinish: function() {
			$('item_overlay_' + Listing.Active).hide();
			Listing.State = 'closed';

			if(itemId > 0) {
				Listing.OverlayOpen(itemId);
			} else {
				Listing.Transition	= 'false';
			}
		}});
	}


/***** OPEN THE NEW OVERLAY *****/
	
	Listing.OverlayOpen = function(itemId) {
		
	// Gt full list of content and bg Divs
		var contentList	= $$('.container_listing .item_quarter .overlay .content');
		var bgList		= $$('.container_listing .item_quarter .overlay .bg');

	// Open the new DIV
		if(Listing.State == 'closed' && itemId != Listing.Active) {
			for(var i = 0; i < contentList.length; i++) {
				if(contentList[i].up() == $('item_overlay_' + itemId)) {
					var contentDiv		= contentList[i];
					var backgroundDiv	= bgList[i]
					break;
				}
			}
			
			new Effect.Appear(backgroundDiv, { beforeStart: function() {
				$('item_overlay_' + itemId).show();
				backgroundDiv.hide();
				contentDiv.hide();
			},
			duration: 0.25, from: 0, to: 0.95, afterFinish: function() {
				Listing.Active = itemId;
				Listing.State = 'open';
				Listing.Transition	= 'false';
			}});
			new Effect.Appear(contentDiv, { duration: 0.25, from: 0, to: 1 });
			new Effect.Fade($('item_content_' + itemId), { duration: 0.25, from: 1, to: 0});
		} else {
			Listing.Active = '';
			Listing.Transition	= 'false';
		}
	}


/***** SELECT COLOURS *****/
	
	var sizeList;
	
	Listing.selectColour = function(itemId,linkElement,colour) {

	// Reset all classnames to ''
		var AList = $('select-colour' + itemId).getElementsByTagName('a');
		for(var i=0; i < AList.length; i++) {
			AList[i].className = '';
		}
		$('hdn_select-colour' + itemId).value = '';
	
	// Show sizes onclick
		if($('div_select-size' + itemId).style.display == 'none') {
			$('div_select-size' + itemId).style.display = 'block';
		}

	// Set the next link to active
		$(linkElement).className = 'active';
		$('hdn_select-colour' + itemId).value = colour;


		var colourLinks	= $$('#select-colour' + itemId + ' a');
		for(var i=0; i < colourLinks.length; i++) {
			if(linkElement == colourLinks[i]) {
				var activeI = i;
				break;
			}
		}
	
		var row					= itemId - 1;
			sizeList 			= Listing.selectColourForSize[row][activeI];
		var listContainer 		= $('select-size' + itemId);
		listContainer.innerHTML = '';

		for(var i=0; i < sizeList.length; i++) {
			var listItem	= new Element('li', { id: 'main_test' });
			listContainer.appendChild(listItem);

			var listItemA	= new Element('a', { href: 'javascript:void();' });
			listItem.appendChild(listItemA);
			listItemA.innerHTML = sizeList[i][0];
			listItemA.href		= 'javascript:void();';

			if(sizeList[i][2] == 0){
				listItemA.className = 'inactive';
			}
			Listing.selectEventHandlers(itemId,listItemA,sizeList[i][1]);
		}
		
		//K3BTG Was/Is Price
		Listing.displayWasIsPriceOverlay(itemId)
		//K3BTG Was/Is Price 
	}
	
	Listing.selectEventHandlers = function(itemId,listItemA,sizeList) {
		Event.observe($(listItemA), 'click', function(e) {
			new Listing.selectSize(itemId,$(listItemA),sizeList);
			Event.stop(e);
		});
	}

/***** SELECT TEXT *****/

    /* K3BTG (PREORD) */
    var itemNamePosition = new Array();
    /*K3BTG (PREORD) */

	Listing.selectSize = function(itemId,linkElement,size) {	    
		if($(linkElement).className != 'inactive') {
		// Reset all classnames to ''
			var AList = $('select-size' + itemId).getElementsByTagName('a');
			for(var i=0; i < AList.length; i++) {
				if(AList[i].className != 'inactive') {
					AList[i].className = '';
				}
			}
			$('hdn_select-size' + itemId).value = '';
		
		    // Set the next link to active
			$(linkElement).className = 'active';
			$('hdn_select-size' + itemId).value = size;     
			       		    		    	    
            //K3BTG (PREORD) : itemNo + variantCode (colour/size) -		    
		    Listing.checkPreorderable(itemId, Listing.itemNamePosition[itemId-1] + $('hdn_select-colour' + itemId).value + size); 
		    //K3BTG (PREORD) : itemNo + variantCode (colour/size) +
		    
		}
	}
    
    //K3BTG (PREORD) -
    Listing.checkPreorderable = function(itemID, selectedItemNoVariant) {
	    for(var i=0; i < Listing.preorderables.length; i++) {
            if (Listing.preorderables[i] == selectedItemNoVariant) {                
                    $('preordDIV' + itemID).style.display = '';
                return;
            } else {
                $('preordDIV' + itemID).style.display = 'none';
            }
	    }            
    }
    //K3BTG (PREORD) +

    //K3BTG WasIsPrice 
        Listing.displayWasIsPriceOverlay = function(itemId) {
        	var listContainer = $('display-price' + itemId);
		    listContainer.innerHTML = '';

		    //Find Colour Selected
		    var colourLinks	= $('select-colour' + itemId).getElementsByTagName('a');
		    for (var i=0; i < colourLinks.length; i++) {
			    if (colourLinks[i].className == 'active') {
				    var activeColour = i;
				    break;
			    }
		    }
								     
	        //alert('Colour: ' + activeColour + ' Size: ' + activeSize);
	        var priceList = Listing.variantPrices[itemId-1][activeColour];
	        var priceArray = priceList[0];
	        
	        //Was Price        
	        if (priceArray[2] != "")
	        { 
        	    var listItem = new Element('li', { id: 'display_was_price' });
        	    listItem.innerHTML = '<span class="old">' + priceArray[2] + '</span>';
			    listContainer.appendChild(listItem);
            }
            
		    //Is Price
        	var listItem = new Element('li', { id: 'display_is_price' });
        	listItem.innerHTML = '<span class="new">' + priceArray[1] + '</span>';
			listContainer.appendChild(listItem);
						
		    // Show price onclick
		    if($('div_wasisprice' + itemId).style.display == 'none') {
			    $('div_wasisprice' + itemId).style.display = 'block';
		    }        
        }
         
    //K3BTG WasIsPrice
    
/***** CHANGE PHOTO *****/
	
	var photoTimer = new Array();
	
	Listing.changePhotoTimer = function(linkElementEx,ItemNo) {
		var Container	= $(linkElementEx).up().up();
		var linkList	= $(Container).getElementsByTagName('a');
		for(var i = 0; i < linkList.length; i++) {
			linkList[i].className = '';
		}

		itemNo2 		= parseInt(ItemNo);
		var rowSort 	= itemNo2 - 1;
		
		var photoList	= Listing.photoColours[rowSort];
		for(var i = 0; i < photoList.length; i++) {
			var photoDefault = photoList[i];
		}
		$('listingPhoto' + itemNo2).src = photoDefault;
	
	    //K3BTG START
	    var priceLink = $('div_displayprice'+ItemNo);
        var originalPrice = Listing.OriginalPrices[ItemNo-1];
        
	    var outputHTML = '<p class="price">';
	    	    
	    if ( originalPrice[1] != '') {
	        outputHTML += '<span id="old" class="old">' + originalPrice[1] + '</span>';
	    }
	    
	    outputHTML += '<span id="new" class="new">' + originalPrice[0] + '</span>';
	    outputHTML += '</p>';
	    
	    priceLink.innerHTML = outputHTML;	    
	    //K3BTG END
	}
	
	Listing.changePhoto = function(linkElement,itemNo,itemPhoto) {
		var itemRow = itemNo - 1;
		
		clearTimeout(photoTimer[itemRow]);
		var linkElementEx = $(linkElement);
		
		linkElementEx.id = 'listing_colour_' + itemNo + '_' + itemPhoto;
		
		var container	= linkElementEx.up().up();
		var linkList	= $(container).getElementsByTagName('a');
		
		itemNo2 		= parseInt(itemNo);
		itemPhoto2 		= parseInt(itemPhoto);
		var rowSort 	= itemNo2 - 1;
		var photoSort 	= itemPhoto2 - 1;
		
		for(var i = 0; i < linkList.length; i++) {
			if(i == photoSort) {
				linkList[i].className = 'active';
			} else {
				linkList[i].className = '';
			}
		}
		$('listingPhoto' + itemNo2).src = Listing.photoColours[rowSort][photoSort];

		photoTimer[itemRow] = setTimeout("new Listing.changePhotoTimer(\'" + linkElementEx.id + "\'," + itemNo + ")", 4000);
	
	    //K3BTG START
	    var priceList = Listing.variantPrices[itemNo-1][itemPhoto-1];
	    //Just look at first Size
	    var priceArray = priceList[0];
	    
	    var priceLink = $('div_displayprice'+itemNo);
	    var outputHTML = '<p class="price">';
	    	    
	    if (priceArray[2] != '') {
	        outputHTML += '<span id="old" class="old">' + priceArray[2] + '</span>';
	    }
	    
	    outputHTML += '<span id="new" class="new">' + priceArray[1] + '</span>';
	    outputHTML += '</p>';
	    
	    priceLink.innerHTML = outputHTML;	    
	    //K3BTG END
	    
	}

	MouseoverOutEvent = function (event)
	{
		var photoElement = Event.element(event);
		var rowSort = parseInt(photoElement.id.substr(12))-1;
		photoElement.src = Listing.photoColours[rowSort][200];
		
	}
	
	MouseoverOverEvent = function (event)
	{
		var photoElement = Event.element(event);
		var rowSort = parseInt(photoElement.id.substr(12))-1;
		photoElement.src = Listing.photoColours[rowSort][300];
	}
	  
	
	Event.observe(window, 'load', function() {
		defaultPhotos	= $$('.container_listing .item_quarter .photo');
		for(var i = 0; i < defaultPhotos.length; i++) {
			Listing.photoColours[i].push(defaultPhotos[i].src);
		}
				
		$$(".container_listing .item_quarter img.photo").each(function(item){
			item.observe("mouseover", MouseoverOverEvent);
			item.observe("mouseout", MouseoverOutEvent);
        });

		
	});



