function hide_tabs() {
	if ($defined($('specification_content')) && (_current_tab != 'specification')) {
		$('specification_content').slide('hide');
	}
	if ($defined($('reviews_content')) && (_current_tab != 'reviews')) {
		$('reviews_content').slide('hide');
	}
	if ($defined($('information_content'))) {
		$('information_content').slide('hide');
	}
	if ($defined($('returns_content'))) {
		$('returns_content').slide('hide');
	}
	if ($defined($('colours_content')) && (_current_tab != 'colours')) {
		$('colours_content').slide('hide');
	}
	if ($defined($('aso_content'))) {
		$('aso_content').slide('hide');
	}
}

function changeTabSmall(_tab) {
	$('tab_' + _current_tab).removeClass('small_tab_on');
	$('tab_' + _current_tab).addClass('small_tab_off');
	$('tab_' + _tab).removeClass('small_tab_off');
	$('tab_' + _tab).addClass('small_tab_on');
	
	
	$(_current_tab + '_content').slide('out');
	$(_tab + '_content').slide('in');
	_current_tab = _tab;
}

function changeTab(_tab) {
	$('tab_' + _current_tab).removeClass('tab_on');
	$('tab_' + _current_tab).addClass('tab_off');
	$('tab_' + _tab).removeClass('tab_off');
	$('tab_' + _tab).addClass('tab_on');
	
	
	$(_current_tab + '_content').slide('out');
	$(_tab + '_content').slide('in');
	_current_tab = _tab;
}


var totalImages = 0; 
var imagesLoaded = 0;
function preloadImages(i) {
	if (i > 0) {
	  var requestPaths = Array();
	  _imageloaderpage = 'prodimagethumb.php'; 
	  for (j=0; j < i; j++) {   
	      requestPaths.push(eval('secbase' + j));
	  }         
	  var jSonRequest = new Request.JSON({url: _imageloaderpage, onComplete: 
	      function(imagedets) {
	        totalImages = imagedets.length;
	        imagedets.each(function(item) {
	          var img = new Asset.image(item, {onload: preloadComplete});
	          img.inject($('product_image_holder'));
	        });                                                                                                                                                           
	      }
	  }).post({'newsrc': requestPaths});
	}
  
}
  
var _current_image = 0;
  
function preloadComplete() {
  imagesLoaded++;
  if (imagesLoaded == totalImages) {
    $('thumbnail_container').setStyle('opacity', 0);
    $('thumbnail_container').setStyle('display', 'block');  
    $('thumbnail_container').fade('in'); 
    $$('#product_image_holder img').each(function(item, index) {
      item.addEvent('click', function() {
    	blankScreen();
    	showLargeImage(index);
        return false;
      });  
    });    
    
    $('product_image_holder').fade('in');
    
    
	$('zoom_button').addEvent('click', function() {
      blankScreen();
      showLargeImage(_current_image);
      return false;
    });  

  }
             
}

function showLargeImage(index) {

  _imageloaderpage = 'largeimagethumb.php';
  
  //create holder div
  var largeImgHolder = new Element('div', {id: 'large-image-holder'});
  largeImgHolder.setStyle('opacity', 0);
  largeImgHolder.inject($('full_width_container'), 'top');
  var x = (window.getSize().x / 2) - (largeImgHolder.getSize().x / 2);
  var y = (window.getSize().y / 2) - (largeImgHolder.getSize().y / 2);
  if(y < 0){y=0;}
  largeImgHolder.setStyle('left', x);
  largeImgHolder.setStyle('top', y);
  
  //setup thumbnails 
  var thumbnails = $('thumbnail_container').clone();
  thumbnails.inject(largeImgHolder);
  $$('#large-image-holder .thumbnail_container a').each(function(item, itemIndex) {
      if (itemIndex == item) {
        item.addClass('active_thumbnail');
      }
  		item.addEvent('click', function(e){
  			e = new Event(e);
  			e.stop();
  			swapLargeImage((itemIndex));	
  			$$('#large-image-holder .active_thumbnail').removeClass('active_thumbnail');
        item.addClass('active_thumbnail');
  	 });
  });
  
  closeEl = new Element('a', {'class': 'close', 'href': '#'});
  closeEl.addEvent('click', function() {
	showScreen();
    return false;
  });
  closeEl.inject(largeImgHolder);
  
  largeImgHolder.fade('in');
  swapLargeImage(index);

}

function swapLargeImage(index) {
  largeImgHolder = $('large-image-holder');
  if ($('large-image') != null) {
    $('large-image').dispose();
  }
  var jSonRequest = new Request.JSON({url: _imageloaderpage, onComplete: function(imagedets){
      
      var largeImg = new Asset.image(imagedets.imagesrc, {id: 'large-image', onload: function() {
      largeImg.setStyle('opacity', 0);
      largeImg.inject(largeImgHolder);
      largeImg.fade('in');
      

      largeImg.addEvent('click', function() {
        showScreen();
      });
    }});
  }}).post({'newsrc': eval('secbase' + index)});
}

function fadeLargeImage() {
  var fx = new Fx.Tween($('large-image-holder'));
    fx.start('opacity', 0).chain(function() {
        $('large-image-holder').dispose();
    });
}

function showScreen() {
  $('blanker').fade('out');
  fadeLargeImage();
   
}



function blankScreen() {
  if ($('blanker') == null) {
    divBlank = new Element('div', {'class': 'blanker', id: 'blanker'});
    divBlank.setStyle('opacity', 0);
    divBlank.setStyle('left', 0);
    divBlank.setStyle('width', window.getSize().x - 16);
    divBlank.setStyle('height', window.getSize().y);
    divBlank.inject($('full_width_container'), 'top');
  }
  else {
    divBlank = $('blanker');
  }
  divBlank.fade(0.5);
}

function slideImage(pos) {
  $('product_image_holder').tween('left', -(pos * 430))
}

function image_click(_i) {
	if($defined($('secimg' + _i)))
	{	
    if (_i == 0) {
      $('secimg' +_i).addClass('active_thumbnail');
    }
		$('secimg' + _i).addEvent('click', function(e){
			e = new Event(e);
			e.stop();
			_current_image = _i;
			slideImage(this.getProperty('pos')); 	
			$$('.active_thumbnail').removeClass('active_thumbnail');
      $('secimg' +_i).addClass('active_thumbnail');			
	 });
  }  
}

function setupPriceMatch() {
 if ($defined($('aPriceMatch'))) {
	 $('aPriceMatch').addEvent('click', function() {
	 	  priceMatchPopup.show();
		  return false;
	  });
 }
}

/*function setupStockNotification() {
	if ($defined($('aStockNotification'))) {
		stockPopup = new PriceMatch($('reminderBox'));
		
		$('aStockNotification').addEvent('click', function() {
	 	  stockPopup.show();
		  return false;
	  });
	}
}*/

function setupLensCategory() {
	if ($defined($('aCat_hover'))) {
		$('aCat_hover').addEvent('click', function() {
	 	  
	 		categoryPopup.show();
		  return false;
	  });
	}
	
	if ($defined($('aGoggleLens_hover'))) {
		$('aGoggleLens_hover').addEvent('click', function() {
	 	  
	 		categoryPopup.show();
		  return false;
	  });
	}
	
	if ($defined($('aDragonGoggleLens_hover'))) {
		$('aDragonGoggleLens_hover').addEvent('click', function() {
	 	  categoryPopup.show();
		  return false;
	  });
	}
	
}  

function setupWriteReview() {
	/*if ($defined($('aWriteReview'))) {
		$('aWriteReview').addEvent('click', function(e) {
			e = new Event(e);
			e.stop();
			
			
		});
	}*/
}

function setupDeliveryOptions() {
  if ($defined($('aDeliveryOptions'))) {
	$('aDeliveryOptions').addEvent('click', function() {
	    deliveryPopup.show(this);
	    return false;
	  });
  }
}


function setup_wishlist_button() {
	
	if($defined($('addtowishlist')))
	{
		$("addtowishlist").addEvent('click', function(e){
			e = new Event(e);
			
			$("wishform").setProperty("action", "wishlist.php?action=addtowish");
	
			$("wishform").submit();

			e.stop();
		});
				
	}
}



var priceMatchPopup;
var deliveryPopup;
var categoryPopup;
var stockPopup;

window.addEvent('domready', function() {
	hide_tabs();
	for (_i=0; _i<5; _i++) {
		image_click(_i);
	}
	if ($defined($('priceMatchForm'))) {
		priceMatchPopup = new PriceMatch($('priceMatchForm'));
		deliveryPopup = new PopupTip($('deliveryOptions'), 'Delivery Options', 370);
	}
	
	if ($defined($('aCat_hover'))) {
		categoryPopup = new lightboxHover($('cat_hover_text'), 668, 386, '');		
	}
	
	if ($defined($('aGoggleLens_hover'))) {
		
		categoryPopup = new lightboxHover($('cat_hover_text'), 668, 664, '');		
	}
	
	if ($defined($('aDragonGoggleLens_hover'))) {
		categoryPopup = new lightboxHover($('cat_hover_text'), 668, 374, '');		
	}
	
	
	
	if ($chk($('aSizeOptions'))) {
		sizePopup = new PopupTip($('sizeOptions'), 'Size Options', 120, 'top left');
		setupHover(sizePopup, 'aSizeOptions');
	}
	
	if ($defined($('aStrapType'))) {
		sizePopup = new PopupTip($('strapType'), 'Strap Type', 100);
		setupHover(sizePopup, 'aStrapType');
	}
	
	if ($defined($('aPackaging'))) {
		sizePopup = new PopupTip($('Packaging'), 'Packaging', 145, 'top left');
		setupHover(sizePopup, 'aPackaging');
	}
	
	if ($defined($('aMovement'))) {
		sizePopup = new PopupTip($('Movement'), 'Movement', 280);
		setupHover(sizePopup, 'aMovement');
	}
	
	if ($defined($('aWaterRes'))) {
		sizePopup = new PopupTip($('WaterRes'), 'Water Resistence', 200);
		setupHover(sizePopup, 'aWaterRes');
	}
	
	if ($defined($('aGuarantee'))) {
		sizePopup = new PopupTip($('Guarantee'), 'Guarantee', 100, 'top left');
		setupHover(sizePopup, 'aGuarantee');
	}
	
	if ($defined($('aDisplayType'))) {
		sizePopup = new PopupTip($('displayType'), 'Display Type', 240);
		setupHover(sizePopup, 'aDisplayType');
	}
	
	if ($defined($('aChronoHover'))) {
		sizePopup = new PopupTip($('chronoHover'), 'Chronograph', 100);
		setupHover(sizePopup, 'aChronoHover');
	}
	
	if ($defined($('product_image_holder'))) {
		$('product_image_holder').fade('hide');
		//$('product_image_holder').setStyle('visibility', 'hidden');
	}
	
	if ($defined(numberImages)) {
		preloadImages(numberImages);
	}
	setupPriceMatch();
	setupDeliveryOptions();
	setupLensCategory();
	setupWriteReview();
	setup_wishlist_button();
	
});