/* idTabs ~ Sean Catchpole - Version 1.0 */ 
 
/* Options (in any order): 
 
 start (number|string) 
    Index number of default tab. ex: idTabs(0) 
    String of id of default tab. ex: idTabs("#tab1") 
    default: class "selected" or index 0 
 
 return (boolean) 
    True - Url will change. ex: idTabs(true) 
    False - Url will not change. ex: idTabs(false) 
    default: false 
 
 mouseover (function) 
    Function will be called when a tab is mouseovered. ex: idTabs(foo) 
    If the function returns true, idTabs will show/hide content (as usual). 
    If the function returns false, idTabs will not take any action. 
    The function is passed three variables: 
      The id of the element to be shown 
      an array of all id's that can be shown 
      and the element containing the tabs 
  
  MODIFIED BY PRESTASHOP
  
*/ 

(function($){
	$.fn.idTabs=function(){
		var s={"start":null,"return":false,"mouseover":null};
		for(var i=0;i<arguments.length;++i){
			var n={},a=arguments[i];
			switch(typeof a){
			  case"object":$.extend(n,a);
			  break;
			  case"number":case"string":n.start=a;
			  break;
			  case"boolean":n["return"]=a;
			  break;
			  case"function":n.mouseover=a;break;
			};
			$.extend(s,n);
		}
		var self=this;
		var list=$("a[@href^='#']",this).mouseover(function(){
			if($("a.selected",self)[0]==this)
			return s["return"];
			var id="#"+this.href.split('#')[1];
			var aList=[];
			var idList=[];
			$("a",self).each(function(){
				if(this.href.match(/#/)){
					  aList[aList.length]=this;
					  idList[idList.length]="#"+this.href.split('#')[1];
				}
			}
		);
		if(s.mouseover&&!s.mouseover(id,idList,self))
			return s["return"];
			for(i in aList)
				$(aList[i]).removeClass("selected");
			for(i in idList){
				$(idList[i]).addClass('block_hidden_only_for_screen');
			}
			$(this).addClass("selected");
			$(id).removeClass('block_hidden_only_for_screen');
			return s["return"];
		});
		var test;
		if(typeof s.start=="number"&&(test=list.filter(":eq("+s.start+")")).length)
			test.mouseover();
		else if(typeof s.start=="string"&&(test=list.filter("[@href='#"+s.start+"']")).length)
			test.mouseover();
		else if((test=list.filter(".selected")).length)
			test.removeClass("selected").mouseover();
		else list.filter(":first").mouseover();
		return this;
	};
	$(function(){
		$(".idTabs").each(function(){$(this).idTabs();});
	});
})(jQuery)