/* Onload listeners management */

/*var init = {
	listeners: [],
	
	add: function(listener)
	{
		init.listeners[init.listeners.length] = listener;
	},
	
	onload: function()
	{
		for (var i in init.listeners)
		{
			try { init.listeners[i](); }
			catch (e) {}
		}
	}
}

window.onload = init.onload;*/

/* Get the focus on the home page search field */

$(function() {
	try { document.getElementById('searchbox').focus(); }
	catch (e) {}
});

$(function() {
	$('#searchbox + input[type=submit]').click(function() {
		$('#searchbox').animate({backgroundPosition: "0 0"}, 3000);
		return true;
	});
});

$(function() {
	var $clone;
	
	function removeClone() {
		$clone.remove();
		$clone = null;
	}
	
	$('#bestsellers a').mouseover(function() {
		if ($clone) {
			removeClone();
		}

		var $this = $(this);
		var $oimg = $this.find('img');
		$clone = $this.clone().hide();
		var $img = $clone.find('img');

		$img.data('width', $oimg.width()).removeAttr('width')
			.data('height', $oimg.height()).removeAttr('height')
			.attr('src', $img.attr('src').replace('/small/', '/medium/'))
			.load(function() {
				var $this = $(this);
				
				var dx = ($this.width() - $this.data('width')) - 5;
				var dy = ($this.height() - $this.data('height')) - 5;

				var offset = $this.offset();
				
				var left = offset.top + dx;
				var top = offset.left + dy;

				$clone.offset({top: top, left: left});
				$clone.show();
			});

		var offset = $this.offset();
		var top = offset.top;
		var left = offset.left;
			
		$clone.css({position: 'absolute', border: '5px solid #666'})
			.offset({top: top, left: left})
			.appendTo(document.body)
			.mouseout(function() {
				removeClone();
			});
	});
});

/* Open external links in a new window */
/*
init.add(function() {
	$('#compare a').each(function() {
		$(this).click(function() {
			window.open(this.href);
			return false;
		});
	});
});
*/

/* Cross-browser function to attach an even to an element */

/*

function addEvent(source, type, callback)
{
	if (source.addEventListener)
	{
		// Standard DOM
		source.addEventListener(type, callback, false);
		return true;
	}
	else if (source.attachEvent)
	{
		// MSIE
		return source.attachEvent('on' + type, callback);
	}
	else
	{
		// Older browsers
		eval('source.on' + type + ' = callback');	
	}
}

function getStandardEvent(e) {
 // abstraction pour recuperer un objet standard pour l'evenement en cours 
 // comprend le modele DOM standard et le modele proprietaire de MSIE
 // e : parametre recu lors de l'appel du gestionnaire d'evenement 
 // retour : objet d'evenement standard
 if (e == null && window.event) {
   // cas particulier de MSIE pour recuperer l'evenement en cours
   e = window.event ;
 }
 if (e.target == null && e.srcElement) {
   // cas particulier de MSIE pour recuperer la balise DOM cible
   e.target = e.srcElement ;
 }
 if (! e.preventDefault ){
   // cas particulier de MSIE pour empecher l'action par defaut du navigateur
   e.preventDefault = function () { this.returnValue = false ; } ;
 }
 return e ;
}

function openLinkInPopupWhenClick(e) {
  // gestionnaire d'evenement actif lors d'un clic sur les liens
  // ouvre le lien dans une popup et pas dans une page normale
  // e : evenement de clic
  e = getStandardEvent(e)  ;
  var link =  e.target  ;
  var addr = link.getAttribute('href') ; 
  window.open(addr, '_blank', 'resizable=yes,width=200,height=300')  ;
  e.preventDefault()  ;
  return false ;
}
function prepareHelpLinks() {
 // explore le document pour rechercher les liens d'aide
 // à chaque lien, on verifie s'il a "help" dans la liste de ses classes
 // si oui, on enregistre un gestionnaire d'evenement pour le clic de ce lien
 var link, list, i ;
 list = document.getElementsByTagName('a') ;
 for(i=0; i<list.length; i++) {
   link = list.item(i) ;
   if (link.getAttribute('href') && link.className) {
     if ((' '+link.className+' ').indexOf(' help ') != -1) {
       addEvent(link, 'click', openLinkInPopupWhenClick) ;
     }
   }
 }
}

*/
