// Sorting function for numeric array
//
function sortNumber(a,b) {
  return a - b;
}

// Show big product image
//
function showProdImageEvent() {
  $$('div.prodIcon a').each(function(element){ element.observe('mouseover', showProdImage); });
  zIndexWorkaround();
}

function showProdImage(event) {
  var element = event.element();
  if (element.tagName.toLowerCase() != 'a') element = element.up('a');
  var imgPath = element.readAttribute('href');
  element.writeAttribute('href','javascript:void(0)');

  if(element.up().down('img.prodImage')) return;
  if (imgPath == '') return;

  var newImg = new Element('img', { 'src':imgPath } );
  newImg.addClassName('prodImage');
  newImg.observe('load', function(event){
    var imageLoading = this.adjacent('.imageLoading');
    if(imageLoading[0]==null) return;
    imageLoading[0].remove();
  });

	element.observe('mouseover', function(){ 
	  newImg.show();
    });

	element.observe('mouseout', function(){ 
	  newImg.hide();
	});

// Adding smaller area to hide the big image: the same size as the image icon
    newImg.observe('mousemove', function(event){
	  var imgHolder = this.up('a');
	  var offset = imgHolder.cumulativeOffset();  // {left:n, top:n }
	  var dimension = imgHolder.getDimensions();  // {width:n, height:n }
	  var mX = Event.pointerX(event);
	  var mY = Event.pointerY(event);

	  if( (mX >= offset['left']) && (mX <= (offset['left'] + dimension['width'])) &&
	    (mY >= offset['top']) && (mY <= (offset['top'] + dimension['height']))  ) 
	  {
	    return;
	  } else {
 this.hide();
	  }

	});

    element.insert({ 'bottom' : newImg });

} // showProdImage


// IE7 product images z-index fixing
//
function zIndexWorkaround() {
  if( checkIEversionExtended(7)) {
    var zi = 1000;
    $$("div.productsList div.listBlock").each(function(block) {
       block.style.zIndex = zi--;
    });
  }
}

// Fixing IE6 categories menu hover behaviour
//
function ie6MenuFix() {
  if(!checkIEversionExtended('6')) return;
  $$(".categoriesMenu a").each(function(element){
    if(element.up('li.active')) return;
    element.observe('mouseover', function(event){
      el = element.down('div.imageHolder');
      el.hide();
      el.show();
    });
    element.observe('mouseout', function(event){ element.down('div.imageHolder').hide(); });
  });
}

